本节课复习了一些数组的常用操作,也学习了一些常用的数组函数
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用于将数组转换成字符串,在实际使用中较为常用。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号