Correction status:qualified
Teacher's comments:
<?php /** //数组与变量与字符串之间的转换 //1.list() 把数组中的元素转为变量: 用在索引数组上 */ list($a,$b,$c)=[1,'cc',8.8]; echo '<pre>'; var_dump($a); var_dump($b); echo var_dump($c),'<hr>'; //2. extract($arr, $flag): 关联数组转为变量 $book=['name'=>'php','price'=>88,'role'=>'学习PHP','crowd'=>'everyone']; print_r($book ); //extract():返回变量的数量 echo '共生成了:',var_export(extract($book),true),'个变量:<br> 分别是',"\$name={$name}|\$price={$price}|\$price={$role}"; //3.compact(): 将变量转为关联数组 $bname='PHP开发'; $bprice=55; $bcrowd='喜欢PHP'; $brole='学习PHP的书籍'; $barr=compact(bname,bprice,bcrowd,brole); echo '<hr>',var_export($barr,true),'<hr>'; //4.explode():将字符串转换数组,第一个参数分隔符,第二个数组,第三个分隔数量负数时从结尾向前删除 $cbook='php,88,学习PHP,html,css'; $carr=explode(',',$cbook); //echo var_export($carr); echo var_export(explode(',',$cbook,5)),'<br>'; echo var_export(explode(',',$cbook,-1)),'<br>'; //5.implode($glue, $arr) 把数组元素组合为字符串: $arr = ['首页','公司新闻','公司新闻','联系我们']; $aac=implode('|',$arr); echo print_r($aac,true),'<hr>'; echo '<pre>'; echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr).'</a>'),'<br><hr>'; $arr2=['php','css','javascript','html','mysql']; echo var_export('<a href="#">'.implode('</a>|<a href="#1">',$arr2).'</a>');
点击 "运行实例" 按钮查看在线实例
<?php /** * 数组元素的回调处理 * Time: 上午 11:11 */ //1. array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素 $arr=[1,3,'',6.6,false,'hello',null,'jquery']; echo '<pre>',var_export($arr),"共有",count($arr),'个元素'; $arr2=array_filter($arr); echo '<pre>',var_export($arr2),"共有",count($arr2),'个元素<hr>'; //非常适合删除数组中的空元素 //传入一个回调: 匿名函数 $arr3 = ['one','two',3,4,5]; $arr4 =array_filter($arr3, function ($value){ return $value<5 || !is_numeric($value); }); echo var_export($arr4),'<hr>'; //2. array_walk():对数组中每个元素的键和值进行处理 $cars=array('v'=>"Volvo",'b'=>"BMW",'s'=>"SAAB"); array_walk($cars ,function (&$value,$key){ echo $value,':',$key,'<br>'; }); echo '<hr>'; // 回调的第三个参数的用法 //$arrc = ['name'=>'admin1','email'=>'qq@qq.com1']; // //array_walk($arrc, function (&$value, $key, $name) { // //如果当前的用户名是:admin,则授权查看,否则拒绝 // if ($value != $name) { // exit('无权查看'); // } else { // exit($key.':'.$value); // } // //},'admin1'); //echo '<hr>'; //function myfunction($value,$key,$p) //{ // echo "$key $p $value<br>"; //} //$a=["a"=>"red","b"=>"green","c"=>"blue"]; //array_walk($a,"myfunction","has the value"); //var_export($a); //更改一个数组元素的值(请注意 &$value): function myfunction1(&$value,$key) { $value="yellow"; } $aa=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($aa,"myfunction1"); print_r($aa);
点击 "运行实例" 按钮查看在线实例
<?php /** *用for()循环来遍历关联数组 */ $arr=['php','html','css','javascript','jquery','ajax']; $arr1 = ''; for($i=0; $i<count($arr); $i++){ $arr1 .= $arr[$i].'--'; } echo '<pre>',$arr1,'<hr>'; echo rtrim($arr1,'--'),'<hr>'; $arr2 = ''; $i=0; while($i<count($arr)){ $arr2 .= $arr[$i].'|'; $i++; } echo $arr2,'<hr>'; echo rtrim($arr2,'|'),'<hr>'; foreach ($arr as $key=>$value) { $arr3[]=$value; } print_r($arr3); $arrs=['a'=>'php','b'=>'html','c'=>'css','d'=>'javascript','e'=>'jquery','f'=>'ajax1']; $arrs1 = ''; print_r($arrs); for($i=0; $i<count($arrs); $i++){ $arrs1=each($arrs); echo $arrs1['key'],':',$arrs1['value'],'<br>'; }
点击 "运行实例" 按钮查看在线实例
总结: 1.学习数组与变量、字符串之间转换。 2.数组元素回调处理。 3.切割数组和填充数组。 4.遍历数组。 总体来说只能粗浅的理解还需要多多练习才能应用到实践之中。