数组与字符串、变量的转换
使用list()可以让索引数组中的元素转为变量
使用extract()可以使关联数组的元素转为变量
compact()将变量转为数组
explode():将字符串转为数组
implode($glue, $arr) 连接符,把数组元素连接成字符串
案列如下:实例
运行实例 »$arr1 = ['id'=>1, 'name'=>'杨过','sex'=>'male','salary'=>8000]; var_dump(var_export($arr1,true));//合法的php代码 var_dump(print_r($arr1,true)); //1.list() 把数组中的元素转为变量:用在索引数组 list($name,$sex,$age) = ['jason','male',33]; echo '名字是:',$name, ' 性别是:',$sex,$age; //2.extract($arr,$flag):关联数组转为变量,返回变量的数量 var_dump(extract($arr1)); echo '共生成',var_export($arr1,true),'个变量<br>'; echo '我的id',$id,',姓名',$name; echo'<pre>'; //3.compact(): 将变量转为关联数组 $name = '陈奕迅'; $sex ='man'; $job = 'singer'; $arr = compact('name','sex','job');//变量名的字符串形式 var_export($arr); echo '<hr>'; //4.explode():将字符串转为数组 $str = 'html,css,php,mysql,js'; var_export(explode(',',$str)); var_export(explode(',',$str,3));//正数:保留元素个数 var_export(explode(',',$str,-2));//负数:删除元素个数 echo '<hr>'; //5.implode($glue, $arr) 连接符,吧数组元素连接成字符串 $arr = ['首页','公司新闻','公司新闻','联系我们']; echo var_export(implode('-',$arr)),'<br>';
点击 "运行实例" 按钮查看在线实例
2.数组元素的回调处理
在array_walk()、array_fliter()中的参数放入一个回调函数对其元素进行处理,可达到过滤和设置权限的功能;案列如下:
实例
//array_filter(): 回调函数处理数组中的每个元素的值,仅返回结果为true的值 $arr1 = [5,4,0,'',null,33,false,'php']; echo '<pre>',var_export(array_filter($arr1));//仅返回true的值 //array_filter()可以删除数组中的空元素 //传入一个回调函数 $arr2 = ['html','css','js']; var_export(array_filter($arr2, function ($value){ return $value!=='css'; })); echo '<hr>'; //2.array_walk() 对数组中每个值和键进行处理 $arr = ['name'=>'admin','email'=>'admin@php.cn']; //array_walk($arr, function ($v, $k){ // echo $k,':',$v,'<br>'; //}); //回调函数的第三个参数 array_walk($arr,function ($v,$k,$name){ //如果当前用户不是admin,则无法查看 if ($v != $name){ exit('无权查看'); }else{ exit($k.':'.$v); } },'admin'); echo '<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
3.foreach遍历关联数组
实例
$arr =['name'=>'陈奕迅','age'=>'33','job'=>'singer']; foreach($arr as $key=>$value){ echo $key,'=>',$value,'<br>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
$arr =['name'=>'陈奕迅','age'=>'33','job'=>'singer']; foreach($arr as $key=>$value){ echo $key,'=>',$value,'<br>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
使用foreach可以 快速的遍历关联数组。
总结:数组可以与字符串、变量之间进行转换,但这些转换会直接作用在原数组上。使用回调函数可以灵活处理数组的元素