本节课复习了一些数组的常用操作,也学习了一些常用的数组函数
1、编程 : 数组与字符串,变量之间的转换
(1)list把元素转换成变量
(2)extract数组转成变量
(3)compact变量转成数组
(4)explode():将字符串转换数组
(5)implode粘贴
<?php //数组与字符串之间的转换 //1、list把元素转换成变量 list($name,$course,$grade)=['yc','php','80']; echo $name,'在',$course,'上的成绩是',$grade,'<br>'; echo '<hr>'; //2、extract $arr1 = ['id'=>1, 'name'=>'yc','sex'=>'male','course'=>'php']; echo var_export(extract($arr1),true),'<br>'; echo $id,'.',$name,'<br>'; echo '<pre>'; //3、compact变量转成数组 $arr2=compact('id','name'); var_export($arr2); echo '<hr>'; //4.explode():将字符串转换数组 $lang = 'html,css,javascript,jquery,php,mysql'; echo var_export(explode(',', $lang),true),'<br>'; echo var_export(explode(',', $lang,3),true),'<br>'; echo var_export(explode(',', $lang,-2),true),'<br>'; //5、implode粘贴 $arr=['入门','初级','中级','高阶']; echo var_export($arr, true),'<br>'; echo var_export(implode('|', $arr), true),'<br>'; echo var_export('<a href="#">'.implode('</a>|<a href="#">', $arr), true).'</a>','<br>';
点击 "运行实例" 按钮查看在线实例
2.编程: 数组元素的回调处理
<?php /* * To change this license header, choose License Headers in Project Properties. * 数组回调处理 * 将一个函数作为参数进行传递 * 1、array_filter($arr,$callback) * 2、array_walk */ echo '<pre>'; //1、array_filter $arr1=[5,0,'',20,null,99,false,'php']; echo '原始数组:',var_export($arr1, true),'<br>'; $arr2= array_filter($arr1); echo '过滤后数组:',var_export($arr2, true),'<br>'; $arr3=['html','css','javascript']; $arr4= array_filter($arr3,function($val){ return $val!=='css'; }); echo '过滤后数组2:',var_export($arr4, true),'<br>'; //2、array_walk $arr6=['name'=>'admin','addr'=>'HuNan']; array_walk($arr6, function($val,$key){ echo $key,':',$val,'<br>'; }); echo '<hr>'; //过滤 array_walk($arr6, function($val,$key,$name){ if($val!=$name){ exit('无权查看'); } else{ echo $key,':',$val,'<br>'; } },'admin1');
点击 "运行实例" 按钮查看在线实例
3.编程: 用for()循环来遍历关联数组
(1)var_export用于将数组转换成字符串
<?php
$arr = [
'key1'=>'val1',
'key2'=>'val2',
'key3'=>'val3',
'key4'=>'val4',
'key5'=>'val5'
];
$str = var_export($arr,true);
echo $str;//结果 array ( 'key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3', 'key4' => 'val4', 'key5' => 'val5', )
?>
(2)什么地方会用到该方法?
(a)通常,在数据库里面会创建一张表,用于存放所有配置项的信息(该表往往只有两个字段:name和value)
(b)我们在后台修改配置项的值以后,除了保存到数据表以外,还要保存到文件中,以方便读取,这里就要用到该方法了
(c)将修改后的配置表所有数据取出,存放到数组$data中
(3)for遍历数组
<?php /* 数组分类 数组定义 数组遍历 */ //1、数组分为索引数组和关联数组 $arts=['无量寿经','阿弥陀经','观无量寿经','普贤行愿品','大势至菩萨念佛圆通章']; //索引从0开始 echo $arts[0],'<br>'; echo $arts[1],'<br>'; echo $arts[4],'<br>'; echo '<hr>'; //关联数组 $goodMan=['budda'=>'阿弥陀佛','pusa'=>'观世音菩萨','teacher'=>'净空法师']; echo $goodMan['teacher']; echo '<hr>'; //2、数组定义 //(1)整体创建 //(2)追加 //3、数组遍历 //(1)for $res1=''; for($i=0;$i<count($arts);$i++){ $res1.=$arts[$i].'---'; } echo $res1; echo '<hr>'; //(2)list echo key($goodMan),'---', current($goodMan),'<br>'; next($goodMan); echo key($goodMan),'---', current($goodMan),'<br>'; reset($goodMan); echo key($goodMan),'---', current($goodMan),'<br>'; end($goodMan); echo key($goodMan),'---', current($goodMan),'<br>';
点击 "运行实例" 按钮查看在线实例
4、总结
经过学习,本节课对更多的数组函数有了初步认识;
(1)list把元素转换成变量
(2)extract数组转成变量
(3)compact变量转成数组
(4)explode():将字符串转换数组
(5)implode粘贴
var_export用于将数组转换成字符串,在实际使用中较为常用。