批改状态:合格
老师批语:这几种循环一定要合理使用!
URL处理函数
<?php//URL处理函数//http://php.edu/070/demo1.php?id=1&name=张三//print_r($_GET);print_r($_SERVER['QUERY_STRING']);echo '<br>';//parse_str();将字符串解析成变量parse_str($_SERVER['QUERY_STRING'],$array);print_r($array);echo '<br>';// parse_url函数用于解析整个URL,并返回其组成部分print_r(parse_url('http://php.edu/070/demo1.php?id=1&name=admin'));

```//base64_encode():将二进制数据进行编码后加密传输,图片
$img = base64_encode(file_get_contents(‘1.jpg’));
echo $img;
```

<?phpecho "<img src=\"data:image/jpeg;base64,{$img}\">";

<?phpfile_put_contents('123.jpg',base64_decode($img));echo "<img src=\"123.jpg\">";


<?phpecho md5('1234'),'<br>';//返回一个32位的字符串echo sha1('1234'),'<br>';//返回一个40位的字符串echo md5(sha1(md5('1234')));

<?php//md5_file():只要这个文件被更新过,它的返回值就会发生变化echo 'demo1.php的md5 = ' . md5_file('demo1.php') . '<br>';file_put_contents('md5file.txt',md5_file('demo1.php'));


if(md5_file('demo1.php') === file_get_contents('md5file.txt')){echo '文件没有更新过';}else{echo '文件已经被修改过';}


<?php$arr = ['中国','俄罗斯','巴基斯坦'];printf('<pre>%s</pre>',print_r($arr,true));

//关联数组,键的类型是字符串$arr = ['姓名'=>'张三','年龄'=>20,'性别'=>'男','身高'=>170];//关联数组的元素访问与数组中的位置无关,只与它的键名相关printf('<pre>%s</pre>',print_r($arr,true));

<?php$arr = [];$arr[] = '诸葛亮';$arr[] = '刘备';$arr[] = '关云长';$arr[] = '张飞';printf('<pre>%s</pre>',print_r($arr,true));$arr = [];$arr['军师'] = '诸葛亮';$arr['主公'] = '刘备';$arr['前将军'] = '关云长';$arr['车骑将军'] = '张飞';printf('<pre>%s</pre>',print_r($arr,true));

$arr = [0=>['姓名'=>'张三','年龄'=>20,'性别'=>'男'],1=>['姓名'=>'王红','年龄'=>21,'性别'=>'女'],2=>['姓名'=>'刘淑安','年龄'=>20,'性别'=>'女'],];printf('<pre>%s</pre>',print_r($arr,true));

<?php//数组的遍历//1.使用数组指针逐个遍历$arr = ['姓名'=>'张三','年龄'=>'25','性别'=>'男','身高'=>'170','体重'=>'130'];//current():获取指针当前位置的数组元素的值value//key():获取指针当前位置的数组元素的键keyprintf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);//指针下移printf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);printf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);printf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);printf('[\'%s\'] => %s<br>',key($arr),current($arr));prev($arr);//指针前移printf('[\'%s\'] => %s<br>',key($arr),current($arr));end($arr);//指针移到最后一个元素的位置printf('[\'%s\'] => %s<br>',key($arr),current($arr));reset($arr);//指针复位,指针回到第一个元素的位置printf('[\'%s\'] => %s<br>',key($arr),current($arr));

//用循环来实现遍历while(true){printf('[\'%s\'] => %s<br>',key($arr),current($arr));if(next($arr)) continue;else break;}

//for循环reset($arr);for($i = 0;$i < count($arr);$i++){printf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);}

//foreach循环foreach($arr as $key => $value){echo "['{$key}'] => $value <br>";}

//二维数组的遍历$arrs = [['姓名'=>'刘莉','性别'=>'女','年龄'=>'20'],['姓名'=>'周平','性别'=>'男','年龄'=>'22'],['姓名'=>'王苒','性别'=>'女','年龄'=>'19']];foreach($arrs as $value){foreach($value as $key => $arr){echo "['{$key}'] => $arr<br>";}}echo '<hr>';foreach($arrs as $value){printf('姓名=%s,性别=%s,年龄=%s<br>',$value['姓名'],$value['性别'],$value['年龄']);}

//list()解构/解析:索引数组list($a,$b,$c)=[1,2,3];echo $a,$b,$c;echo '<hr>';//list()解构/解析:关联数组list('a' => $a,'b' => $b,'c' => $c)=['a' => 1,'b' => 2,'c' => 3];echo $a,'===>',$b,'===>',$c;echo '<hr>';foreach($arrs as list('姓名'=>$name,'性别'=>$sex,'年龄'=>$age)){printf('姓名=%s,性别=%s,年龄=%s<br>',$name,$sex,$age);}

$obj = new stdClass;$obj ->name ='孙悟空';$obj ->sex ='男';$obj ->age ='1000';foreach ($obj as $key => $value){echo "$key => $value<br>";}

parse_url函数用于解析整个URL,并返回其组成部分parse_str();将字符串解析成变量
base64_encode():将二进制数据进行编码后加密传输file_put_contents() 函数把一个字符串写入文件中md5()sha1()加密函数
索引数组,默认键值从0开始关联数组,键值是字符串next();指针下移 prev();指针前移 end();指针移到最后的位置 reset();指针复位current():获取指针当前位置的数组元素的值valuekey():获取指针当前位置的数组元素的键keycontinue命令会终止循环体的单次循环,代码并继续往下执行下去break会终止循环体的遍历while循环遍历数组while(true){printf('[\'%s\'] => %s<br>',key($arr),current($arr));if(next($arr)) continue;else break;}for循环遍历数组for($i = 0;$i < count($arr);$i++){printf('[\'%s\'] => %s<br>',key($arr),current($arr));next($arr);}foreach循环遍历数组foreach($arr as $key => $value){echo "['{$key}'] => $value <br>";}foreach循环遍历二维数组foreach($arrs as $value){foreach($value as $key => $arr){echo "['{$key}'] => $arr<br>";}}foreach($arrs as $value){printf('姓名=%s,性别=%s,年龄=%s<br>',$value['姓名'],$value['性 别'],$value['年龄']);}list()解构/解析遍历数组foreach($arrs as list('姓名'=>$name,'性别'=>$sex,'年龄'=>$age)){printf('姓名=%s,性别=%s,年龄=%s<br>',$name,$sex,$age);}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号