数组与字符串,变量之间的转换
实例
<?php /** * Created by PhpStorm. * User: 714326675 * Date: 2018/8/25 * Time: 15:48 */ //数组与变量与字符串之间的转换 //1.list()把数组中的元素转换为变量;用在索引数组上 //2.extract($arr,$flag):关联数组转为变量,有参数二,设置了前缀时,前缀和数组键名之间会自动加上一个下划线。 //3.compact()变量转为关联数组: //4.explode()将字符串转换为数组 //5.implode($glue,$arr):将数组转换为字符串 //1.lost() $arr1=['陆依','陆恶','陆山','陆肆']; list($name1,$name2,$name3,$name4)=$arr1; echo $name1.$name2.$name3.$name4.'<hr>'; //2.extract $arr2=['Name1'=>'陆依','Name2'=>'陆恶','Name3'=>'陆山','Name4'=>'陆肆']; extract($arr2); echo 'Name1'.$Name1.'Name2'.$Name2.'Name3'.$Name3.'Name4'.$Name4.'<hr>'; //compact() $food1='可乐'; $food2='炸鸡'; $food3='汉堡'; $food4='薯条'; $arr3=compact('food1','food2','food3','food3','food4'); echo '<pre>'.var_export($arr3,true).'<hr>'; //explode() explode ( string $delimiter , string $string [, int $limit ] ) //delimiter //边界上的分隔字符。 //string //输入的字符串。 //limit //如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 //如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。 //如果 limit 是 0,则会被当做 1。 $text='我有一只小毛驴,我从来都不骑,呀呀呀,就是不骑!'; $arr4=explode(',',$text); echo '<pre>'.var_export($arr4).'<hr>'; //implode() $arr5=['我','懒','得','打','字','了']; $text2=implode($arr5); echo '<pre>'.var_export($text2).'<hr>'; echo var_export('<a href="#">'.implode('</a>|<a href="#">',$arr5)).'</a>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图
数组元素的回调处理
实例
<?php /** * Created by PhpStorm. * User: 714326675 * Date: 2018/8/25 * Time: 16:57 */ //array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素 //array_walk():对数组中的每个元素的键和值进行处理 //array_filter $arr=[10086,520,'72000',2048,null,888,false,'phper']; $arr1=array_filter($arr); echo '<pre>'.var_export($arr1,true).'<hr>'; //2.加入函数 $arr2=['独孤求败','西门吹雪','欧阳峰','王重阳','东方不败','阿紫']; $arr3=array_filter($arr2,function($v){ if($v==='独孤求败'){ return false; }else{ return true; } }); echo '<pre>'.var_export($arr3,true).'<hr>'; //array_walk() $arr4=['name1'=>'虚竹','name2'=>'金刚门主','name3'=>'玄冥二老','name4'=>'赵敏郡主','name5'=>'张无忌']; $arr5=array_walk($arr4,function($v,$name){ echo $name.':'.$v; }); echo '<hr>'; $arr6=array_walk($arr4,function(&$values,$name,$condition){ if($condition==$values){ exit($name.'=>>'.$values); }else{ exit('你根本不是'.$values); } },'虚竹'); echo '<pre>'.var_export($arr6,true).'<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图:
for循环关联数组:
实例
<?php /** * Created by PhpStorm. * User: 714326675 * Date: 2018/8/25 * Time: 8:35 */ $arr=['name'=>'马化腾','身份'=>'企业家','代表作品'=>'腾讯QQ']; for($i=0;$i<count($arr);$i++){ echo key($arr).'---->'.current($arr).'<br>'; next($arr); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图:
总结:
数组与变量与字符串之间的转换
1.list()把数组中的元素转换为变量;用在索引数组上
2.extract($arr,$flag):关联数组转为变量,有参数二,设置了前缀时,前缀和数组键名之间会自动加上一个下划线。
3.compact()变量转为关联数组:
4.explode()将字符串转换为数组
5.implode($glue,$arr):将数组转换为字符串数组中元素的回调
1.array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素
2.array_walk():对数组中的每个元素的键和值进行处理