博客列表 >数组的分类创建与遍历,数组与变量和字符串之间的转换,常用数组元素的回调处理--2018年8月27日11时15分

数组的分类创建与遍历,数组与变量和字符串之间的转换,常用数组元素的回调处理--2018年8月27日11时15分

新竹网络_Terry的博客
新竹网络_Terry的博客原创
2018年08月27日 11:38:19733浏览

这一节课主要讲的是数组的相关知识,数组的定义,数组的创建,以及一些常用的数组函数

代码


实例

<?php
//数组与变量字符串之间的转换
//list() 把数组中的元素转为变量: 用在索引数组上
list($name,$skill,$postion)=['杨康','九阴白骨爪','金国小王爷'];
echo $name.'的技能是'.$skill.'是'.$postion.'<hr>';
//extract($arr, $flag): 关联数组转为变量
$arr=['id'=>1,'name'=>'郭靖','postion'=>'金刀驸马'];
echo '共生成',var_export(extract($arr),true),'个变量';
echo '我的id是',$id,'姓名',$name,'职位',$postion;
//compact(): 将变量转为关联数组
$name='陈近南';
$faction='天地会';
$postion='总舵主';
$arr1=compact('name','faction','postion');
echo var_export($arr1,true).'<hr>';
//explode():将字符串转换数组
$name='东邪,西毒,南帝,北丐';
echo var_export(explode(',',$name)).'<br>';
echo var_export(explode(',',$name,2)).'<br>';
echo var_export(explode(',',$name,-1)).'<hr>';
//implode($glue, $arr)
$arr2=['首页','公司新闻','联系我们'];
echo var_export(implode($arr2),true).'<br>';
echo var_export(implode('|',$arr2),true);
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

QT6%KHX{F8VA$5A@R6FR~GN.png

代码


实例

<?php
//数组元素回调处理
//array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素
$arr=[5,10,'',null,23,false,'css'];
echo '原始数组',var_export($arr,true),',共有:',count($arr),'个元素<hr>';
$arr1=array_filter($arr);
echo '新数组',var_export($arr1,true),',共有:',count($arr1),'个元素<hr>';
//传入一个回调: 匿名函数
$arr2=['html','css','javascript'];
$arr3=array_filter($arr2,function ($value){
   return $value !== 'css';
});
echo var_export($arr3).'<hr>';
//array_walk():对数组中每个元素的键和值进行处理
$arr4=['name'=>'admin','password'=>'123'];
echo var_export($arr4).'<hr>';
array_walk($arr4,function (&$value,$key){
   echo $key,':',$value,'<br>';
});
array_walk($arr4,function (&$value,$key,$name){
    if($value != $name){
       exit ('无权查看');
    }else{
        exit($key.':'.$value);
    }
},'admin1');
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

69LL3F~D[B7WD{5%713VTSQ.png

代码


实例

<?php
//for()循环来遍历关联数组
$arr=array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', 'd'=>'ddd', 'e'=>'eee');
for($i=0;$i<count($arr);$i++){
    echo $arr[$i].' ';
};
for循环的时候是按照数字递增的,for只能访问键为数字的数组,而关联数组的键值是字符,所以for循环不能遍历关联数组

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

12WGMGX]N8}3`ZM`(DF6RQ0.png

总结

1、for循环只能遍历索引数组,不能遍历关联数组

2、数组分为:索引数组和关联数组

3、数组与字符串和变量之间的互相转换,list() 把数组中的元素转为变量: 用在索引数组上,extract(): 关联数组转为变量,compact(): 将变量转为关联数组,explode():将字符串转换数组,implode()




声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议