数组与字符串,变量之间的转换
实例
<?php /** * 数组、字符串、变量之间的转换 */ //list()将索引数组中的元素转换为变量 $info = [ '岑勋', 55, '人民广场' ]; list($name,$age,$address) = $info; echo '我叫',$name,',我今年',$age,'岁,住在',$address; echo '<hr>'; //extract() 将关联数组中的元素提取转变为变量,返回值是变量的数量 $db = ['id' => 9184 ,'name'=>'岑勋','email' => 'admin@qq.com' ,'salary'=>3500]; //print extract($db); extract($db); echo '我的id号是',$id,',我叫',$name,',我的工资',$salary,'元,有事联系我:',$email; echo '<hr>'; //compact() 将变量转为关联数组 $id = 9184; $name = '岑勋'; $salary = 3500; $info = compact('id','name','salary'); print_r ($info); echo '<hr>'; //explode() 将字符串转为索引数组 $city = '广州,上海,重庆,深圳,天津'; $town = explode(',',$city); print_r($town); echo '<br>'; $town = explode(',',$city,3); //第三个参数,表示数组的元素个数,当字符串数值超过limit数字时,最后一个元素包含余下的所有字符串 print_r($town); echo '<br>'; $town = explode(',',$city,-2); //第三个参数为负数时,从后面起删除字符串的个数 print_r($town); echo '<br>'; //implode() 将数组组合成字符串 $db = ['首页','新闻','产品中心','联系我们']; //print_r($db); echo '<a href="#">'.implode('</a>|<a href="#">',$db).'</a>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
数组元素的回调处理
实例
<?php /** * 数组的回调处理:将函数作为参数传递,进行数据处理 * 用到回调的数组函数: * 1、array_filter() * 2、array_walk */ //array_filter():回调处理数组中的每个元素的值,默认返回结果为true的元素,也可以用回调来定义过滤 $arr = ['id'=>9184,'name'=>'岑勋','email'=>'9184@php.com','salary' => 3500]; $new_arr = array_filter($arr,function ($value){ return $value==is_string($value); }); echo var_export($new_arr); echo '<br>'; //array_walk() 对数组中每个元素的键、值进行处理 //遍历数组,格式化输出 $city = ['花城'=>'广州','泉城'=>'济南','榕城'=>'福州','山城'=>'重庆']; array_walk($city,function ($val,$key){ echo $str = '<strong style="color:red">'.$val.'</strong>'.'的别称是:'.'<strong style="color: coral;">'.$key.'</strong>'.'; '; }); echo '<br>'; echo '<hr>'; $arr = [2,3,4]; echo '原数组为'.var_export($arr,true).'<br>'; array_walk($arr, function (&$value, $key, $num) { $value += $num; //原数组每个元素加传入的数字 },2); echo '新数组为'.var_export($arr,true);
运行实例 »
点击 "运行实例" 按钮查看在线实例
用for()循环来遍历关联数组
实例
<?php /** * 用for()循环来遍历关联数组 */ $array = ['花城'=>'广州','泉城'=>'济南','榕城'=>'福州','山城'=>'重庆']; for ($i = 0;$i<count($array);$i++) { $key = array_keys($array); $value = array_values($array); echo $key[$i].'=>'.$value[$i].' '; }
运行实例 »
点击 "运行实例" 按钮查看在线实例