批改状态:未批改
老师批语:
<meta charset="UTF-8">
<?php
echo "<h2 style='color: green'>一、数组与字符串变量之间的转换</h2>";
echo '<hr>';
//索引数组创建
echo "<h4>1.1 索引数组创建</h4>";
$info=array("小红","小明","小黄","小蓝","小黑");
$info=["小红","小明","小黄","小蓝","小黑"];
print_r($info);
echo '<br>';
print_r($info2);
//关联数组创建方式
echo "<h4>1.2 关联数组创建</h4>";
$info3=array("name"=>"小红","age"=>"18","sex"=>"女","add"=>"广东省东莞市");
$info4=["name"=>"小红","age"=>"18","sex"=>"女","add"=>"广东省东莞市"];
print_r($info3);
echo '<br>';
print_r($info4);
echo "<h4>1.3 list将数组转换为字符串,用着索引数组上</h4>";
//list把数组中的元素转换为变量;
list($name,$age,$sex,$add)=['小花','18','女','广东省广州市'];
echo '名称:',$name,'年龄:',$age,'性别:',$sex,'联系地址:',$add;
echo "<h4>1.4 extract将数组转换为变量,用在关联数组上</h4>";
$info5=extract($info3);//返回变量的数量
echo '共生成了:',$info5,'个变量.','我的名称是:', $name,',年龄:', $age,',性别:', $sex,',联系地址:', $add;//返回变量的数量
echo "<h4>1.5 compact将变量转换为数组</h4>";
$name='朱老师';
$age=18;
$sex='男';
$add='安徽合肥';
$arr=compact('name','age','sex','add');
echo var_export($arr);
echo "<h4>1.6 explode将字符串转换数组</h4>";
$info='手机,电脑,洗衣机,冰箱,显示器,办公桌';
echo var_export(explode(',',$info)).'<br>'; //将所有字符转换为数组
echo var_export(explode(',',$info,3)).'<br>';
echo var_export(explode(',',$info,-3)).'<br>';//-3代表在生成的数组中从尾部删除3个
echo "<h4>1.7 implode 将所数组拼接为字符串</h4>";
$head=['首 页','公司简介','公司业务','企业文化','加入我们','联系我们'];
echo var_export(implode($head)).'<br>'; //将所数组中值拼接为字符串
echo var_export(implode(' |',$head)).'<br>';//添加分割线
echo var_export('<a href="">'.implode('</a> |<a href="">',$head).'</a>');点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
echo '<pre>';
echo "<h2 style='color: green'>二、数组元素的回调处理</h2>";
echo '<hr>';
//有参数
function add($a,$b,$c,$d,$e,$f){
return $a+$b+$c+$d+$e+$f;
}
//add(1,2,3,4,5,6);
echo add(1,2,3,4,5,6).'<br>';//参数为数值
echo '<br>';
function add1($a,$b,$c,$d,$e,$f){
return $a.$b.$c.$d.$e.$f;
}
echo add1('www','.php','.cn','是','最好的PHP编程','学习网站').'<br>';//参数为字符串
echo '<br>';
echo '<h2>1 array_filter($arr,$cllback);用一个回调处理数组中的每个元素,仅返回true的元素,非常适合删除数组中的空元素</h2>';
//将一个函数作为参数进传递就是回调,回调使用 callable
//1.array_filter($arr,$cllback);用一个回调处理数组中的每个元素,仅返回true的元素,非常适合删除数组中的空元素
$arr1=[12,0,456,40,'php',false,true,'中文网'];
//echo count($arr1);//数组中元素的总数
echo '原始数组中,共有'.count($arr1).'个元素,'.var_export($arr1,true).'<br>';
echo '<br>';
$arr2=array_filter($arr1);
echo '过滤后数组中,共有'.count($arr2).'个元素,'.var_export($arr2,true).'<br>';//使用array_filter()函数,默认返回为true的元素
echo '<br>';
//常规标准函数
function hello(){
return 'abc';
}
hello();
//匿名函数,当参数来使用
$hello=function (){
return 'abc';
};
echo $hello(),'<br>';
echo '<br>';
//传入一个回调:匿名函数()
$arr3=['html','css','javascript','php'];
//使用回调删除css php
$arr4=array_filter($arr3,function ($value){
return (($value !=='css') && ($value !=='php'));//返回不等于css 和php的元素
});
echo var_export($arr4).'<br>';
echo '<br>';
//2.array_walk($arr,$callback()) //对数组中每个元素的键和值进行处理
echo '<h2>2 array_walk($arr,$callback()) //对数组中每个元素的键和值进行处理</h2>';
$arr5=['name'=>'熊成浩','age'=>'30','sex'=>'男','add'=>'广东省广州市','email'=>'xiongchenghao@bonsaii.com'];
echo var_export($arr5).'<br>';
echo '<br>';
//格式化
array_walk($arr5,function ($val,$key){
echo $key,'<a style="color:red">==</a>',$val,'<br>';
});
echo '<br>';
//回调的第三个参数的用法
array_walk($arr5,function ($value,$key,$name)
{
//如果当前的用户名称是:熊成浩 , 则授权查看,否则拒绝
if ($value != $name){
die("您传入的用户名称是 $name ,无权限查看");
} else {
die($key.'=='.$value.'<br>');
}
},'熊');点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
echo '<pre>';
echo "<h2 style='color: green'>三、用for()循环来遍历关联数组</h2>";
echo '<hr>';
$arr=['name'=>'熊成浩','age'=>'30','sex'=>'男','add'=>'广东省广州市','email'=>'xiongchenghao@bonsaii.com'];
var_export($arr);
echo '<hr>';
echo '<h2>2 使用for循环遍历关联数组</h2>';
for ($i=0;$i<count($arr);$i++) //for 数组总数 count($arr)
{
echo key($arr),'=>',current($arr),'<br/>';//获取当前元素的键和值key($arry) current($arr)
next($arr); //下移指针
}
echo '<hr>';
echo '<h2>2 使用while循环遍历关联数组</h2>';
reset($arr);
while (list($key,$value)=each($arr)){
echo $key.'---'.$value.'<br>';
}点击 "运行实例" 按钮查看在线实例
总结:
数组分为二类:索引数组,关联数组
for while foreach的遍历
reset() 复位指针 next() 下移指针 end() 移到最后
key(数组) 获取当前元素的键 current(数组) 获取当前元素的值
print_r($arr, $bool) var_dump($var1,$var2....) var_export($arr,true),输出的就是字符串表示: 就是创建这个数组的php语句
list() 把数组中的元素转为变量: 用在索引数组上
extract($arr, $flag): 关联数组转为变量
compact(): 将变量转为关联数组
explode():将字符串转换数组
implode($glue, $arr); 将一维数组的值转化为字符串
array_slice():从数组中指定位置,返回指定数量的元素
array_chunk(): 将大数组分割为小数组
array_pad(),将数组用指定的数组填充到指定的长度
array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素
array_walk():对数组中每个元素的键和值进行处理
array_merge():合并多个数组,相同键名互相覆盖
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号