1、数组与字符串,变量之间的转换
实例
<meta charset="utf-8"> <?php // 数组、字符串、变量之间的转化 //1、list() 将数组中的元素转为变量,只适合用在索引数组上 $arr2 = ['小龙女','php',80]; list($name,$course,$grade) = $arr2; echo $name,'<br>'; // 2、extract($arr,$flag) 适合用于关联数组转变量 返回变量的数量 $arr = ['id'=>1,'name'=>'杨过','sex'=>'female','salary'=>9000]; //echo '一共生成了',var_export(extract($arr,true)),'个变量'; extract($arr); echo 'id:'.$id.' 姓名:'.$name.' 性别:'.$sex.' 工资:'.$salary.'<hr>'; //3、compact():将变量转为数组 $name = '袁长虎'; $sex = '男'; $age = 26; $student = compact('name','sex','age'); echo var_export($student,true).'<hr>'; //4、explode('分隔符',$str,limit) 将字符串转为数组 规律的字符串 $lang = 'php,html,js,java'; echo var_export(explode(',',$lang),true),'<br>'; echo var_export(explode(',',$lang,2),true),'<br>'; echo var_export(explode(',',$lang,-2),true),'<br>'; //最常用 //5、implode($glue,$arr) 数组转字符串 $arr = ['首页','关于我们','新闻动态','联系我们']; echo var_export('<a href="">'.implode('</a> | <a href="">',$arr).'</a>',true); /***************切割与填充*********************/ //array_slice():从数组中指定位置,返回指定元素 // $arr = [10,20,30,40,50,60]; echo '<pre>'; $arr = range(10,100,10); print_r($arr); echo var_export(array_slice($arr,3,2),true),'<hr>'; // array_chunk():将大数组分割为小数组 $arr2 = range(1,10); // echo var_export($arr2,true); echo var_export(array_chunk($arr2,3,true),true); //array_pad():将数组用制定的数组填充到制定的长度 $arr = [10,20,30]; echo var_export(array_pad($arr,5,99),true);
运行实例 »
点击 "运行实例" 按钮查看在线实例
2、数组元素的回调处理
实例
<meta charset="utf-8"> <?php //数组的回调处理 //回调:将一个函数作为一个参数进行传递 //1、array_filter($arr,$callable):回调处理数组中的每个元素,仅返回结果为true的元素 非常适合删除数组中的空元素 $arr1 = ['1',0,'',3,NULL,FALSE,'java','php','html']; //打印原始数组 echo var_export($arr1,true).'<br>共有'.count($arr1).'个元素<br>'; $arr2 = array_filter($arr1); echo var_export($arr2,true).'<br>剩下'.count($arr2).'个元素<br>'; // 传入一个回调(匿名函数) $arr3 = ['html','css','javascript']; $arr4 = array_filter($arr3,function ($value){ return $value !== 'css'; }); echo var_export($arr4,true),'<br>'; //2、array_walk($arr,$callable()) 对数组中每个元素的键和值进行处理 $arr = ['name'=>'changhu','age'=>26,'email'=>'changhu@tju.edu.cn']; //array_walk($arr,function ($value,$key){ // echo $key.' : '.'<span style="color:#f00">'.$value.'</span><br>'; //}); //回调的第三个参数的用法 array_walk($arr,function($value,$key,$name){ if($value != $name){ exit('无权查看'); }else{ exit($key.':<span style="color:#f00">'.$value.'</span>'); } },'changhu1');
运行实例 »
点击 "运行实例" 按钮查看在线实例
3、用for()循环来遍历关联数组
实例
<?php header('Content-type:text/html;charset=utf-8'); $user = ['id'=>5,'name'=>'changhu','gender'=>26]; for($i=0;$i<count($user);$i++) { list($key,$value) = each($user); echo $key.' => '.$value.'<br>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例