Correction status:qualified
Teacher's comments:
<?php echo '<pre>'; //数组与变量与字符串之间的转换 // 1.list()把数组中的元素转换为变量 list($name,$age,$sex) = ['苏苏',12,'女']; echo $name,'的职业是狐妖小红娘,她今年',$age,'岁了,是个卡哇伊的', $sex, '孩子<hr>'; //2.extract(),:关联数组转为变量.返回变量的数量 $arr = ['id' => 1,'name' => '青丝折柳','sex' =>'男','salary' =>12000]; echo extract($arr),'<br>'; echo '我的id:',$id,',姓名:',$name,',性别:',$sex,',工资: ',$salary,'元<hr>'; // 3.compact()将变量转换为关联数组 $name = '乔峰'; $faction = '丐帮'; $position = '帮主'; $ar = compact('name','faction','position'); echo print_r($ar),'<hr>'; // 4.explode(),将字符串转换为数组 $lang = '1,2,3,4,5,6,7,8'; echo print_r(explode(',', $lang),true),'<hr>'; // 5.implode(glue, pieces)将一维数组转化为字符串 $arr = ['首页','公司新闻','公司剪影','联系我们']; echo implode('|', $arr),'<br>'; echo "<a href='#'>".implode('</a>|<a href="#">', $arr);
点击 "运行实例" 按钮查看在线实例
这是数组,字符串与变量之间的相互转换,理解起来不难,用途挺广泛的,预览图如下:
<?php echo '<pre>'; //数组的回调处理:将一个函数作为参数进行传递 // 1.array_filter(input):回调处理数组中的每个元素的值,仅返回结果为true的值 $arr = [5,20,'',13,null,14,false,'哟西']; $arr2 = array_filter($arr); echo print_r($arr2,true),'<hr>'; $arr3 =['html',0,'css',null,'java','','php']; // 适合删除空元素 $arr4 = array_filter($arr3,function($value){ return $value != 'css' && $value !=''; }); echo print_r($arr4,true),'<hr>'; // array_walk(array, funcname)对数组中的每个键和值进行处理 $ar = ['name'=>'admin','email'=>'admin@qq.com']; echo var_export($ar),'<hr>'; array_walk($ar, function($value,$key){ echo $key.':'.$value.'<br>'; }); array_walk($ar, function($value,$key,$name){ //如果当前的用户名是:admin,则授权查看,否则拒绝 if ($value != $name) { echo ('无权查看'); } else { echo($key.':'.$value); } },'admin1'); echo "<br><hr>"; //for循环遍历二维数组 $arr = ['name'=>'乔峰','position'=>'丐帮','sex'=>'男','skill'=>'降龙十八掌']; $str =''; for ($i=0; $i < count($arr); $i++) { echo key($arr),'=>',current($arr),'<br>'; next($arr); // echo $str; }
点击 "运行实例" 按钮查看在线实例
回调函数,虽然刚开始用起来会有点懵,但是理解了就不会懵了.for循环遍历键值二维数组也在下面,预览图如下: