Correction status:qualified
Teacher's comments:
数组与字符串,变量之间的转换
<?php /** * 数组与变量与字符串之间的转换 */ //1.list():吧数组中的元素专为变量 适合用在索引数组上 list($name,$course,$grade)=['小龙女','php',80]; //$name='小龙女'; //$course='php'; //$grade=80; echo $name.'的'.$course.'课程的成绩是:'.$grade.'<br>'; //2.extract($arr,$flag):关联数组转为变量 适合用在关联数组上 $arr = ['id'=>1,'name'=>'杨过','sex'=>'男','salary'=>8000]; //extract():返回变量的数量 echo var_export(extract($arr).'<br>'); echo '我的id'.$id,'姓名:'.$name,'性别:'.$sex,'工资是:'.$salary.'<br>'; //3.compact():将变量转为数组 适用关联数组 $name = '陈近南'; $faction = '天地会'; $position = '总舵主'; echo var_export(compact('name','faction','position')); echo '<br>'; //4.explode(): 将字符串转换数组 (参数1:用什么切除;2:要切除的变量;3:截取位数,可以试负数) $lang='html,css,php,javascript,mysql'; echo var_export(explode(',',$lang)).'<br>'; echo var_export(explode(',',$lang,3)).'<br>'; //5.implode($glue,$arr):将分散的数组拼接起来 $array = ['首页','公司新闻','公司介绍','联系我们']; echo var_export(implode($array),true),'<br>'; echo var_export(implode('|',$array),true),'<br>'; //添加<a>转为导航 echo var_export('<a href="">'.implode('</a>|<a href="">',$array).'</a>');
2.数组元素的回调处理
<?php /** * 数组的回调处理 * 将一个函数作为参数进行传递就是进行回调 * array_filter($arr,$callback) * array_walk($arr,$callback()) //和上面有区别 */ //1.array_filter():回调处理数组中的每个元素的值,仅返回为true的元素 $arr=[5,0,'',null,29,'php',false]; echo '<pre>'; echo var_export($arr).'共有'.count($arr).'<br>'; //'',0,null,false :false过滤false字符串 $arr2=array_filter($arr); echo var_export($arr2).'<br>'; //非常适合删除数组中空的元素 //传一个回调:匿名函数 function hello() { return 'abc'; } hello(); //匿名函数,赋给变量,直接用变量名调用,属于一次性函数,非常适合当作参数来使用 $hello=function() { return 'abc'; }; $hello(); //用回调来删除 $arr3=['html','css','php']; $arr4=array_filter($arr3,function($value){ return $value !='css'; }); echo var_export($arr4).'<br>'; //2.array_walk():对元素中的键和值进行重组 $arr=['name'=>'admin','email'=>'admin@php.cn']; echo var_export($arr,true),'<br>'; //进行格式化输出 array_walk($arr,function($value,$key){ echo $key,'>'.$value.'<br>'; }); echo '<hr>'; //回调的第三个参数的用法 array_walk($arr,function($value,$key,$name){ //如果当前的用户名是admin,则授权查看,否则拒绝 if($value != $name){ exit( '无权查看'); }else{ exit($key.'>'.$value.'<br>'); } },'admin');//'admin'自动和
3.用for()循环来遍历关联数组
//for() $rel=''; for ($i=0;$i<count($arts);$i++){ $rel .= $arts[$i].'---'; }