批改状态:未批改
老师批语:
数组与字符串、变量的转换
使用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可以 快速的遍历关联数组。
总结:数组可以与字符串、变量之间进行转换,但这些转换会直接作用在原数组上。使用回调函数可以灵活处理数组的元素
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号