"星期二","wed"=>"星期三","thur"=>">

PHP入门读书笔记(十四):使用数组函数

2022-10-11 20:57:36 132 0
魁首哥

一、遍历数组

1、使用foreach结构遍历数组

foreach 结构并非操作数组本身,而是操作数组的一个备份。

 "星期一","tues"=>"星期二","wed"=>"星期三","thur"=>"星期四","fri"=>"星期五","sat"=>"星期六","sun"=>"星期天");
foreach($arr as $day){
echo $day." ";
}
?>
输出结果:
星期一 星期二 星期三 星期四 星期五 星期六 星期天  
 "星期一","tues"=>"星期二","wed"=>"星期三","thur"=>"星期四","fri"=>"星期五","sat"=>"星期六","sun"=>"星期天");
foreach($arr as $key=>$value){
echo  $value."($arr[$key])($key)";
}
?>
输出结果:
星期一(星期一)()星期二(星期二)()星期三(星期三)()星期四(星期四)()星期五(星期五)()星期六(星期六)()星期天(星期天)()  

这里复习了循环迭代的使用方式,我自己在测试的时候不知道为什么这个$key是未提示非法的参数,这个原因待检查。

forech的语法格式:

 foreach(array_expression as $value){  .... }  
 foreach(array_exoression as $key=>$value){ ..... }  

2、使用list()函数遍历数组

list()函数是把数组中的值赋值给一些变量。与array()函数类似,list()函数不是一个真正的函数,而是一种语言结构。list()函数只能用于数字索引且索引值从0开始的数组。

 语法格式:void list(mixed....);  

参数 mixed 为被赋值的变量名称

list函数使用过程中还有一个each()函数。each()函数用于返回当前指针位置的数组值,同时将指针推进到下一个位置。返回的数组包含4个键,键0和key包含键名,而键1和value包含相应的数据。如果程序在执行的each()函数时指针已经位于数组末尾,则返回false

  ";
}
?>
输出结果:
0 - 早上 
1 - 下午 
2 - 晚上  

二、字符串和数组的转换

1、使用explode()函数将字符串转换为数组

 语法格式:array explode(string separator,string string,[int limit]);  

返回值是一个字符串组成的数组,每个数组元素都是指定字符串string的一个子串。它们使用separator作为分隔符分隔出来。如果设置了limit参数,则返回的数组最多包含limit个元素,最后那个元素将包含strIng的剩余部分。如果separator是一个空字符串(“”),则函数返回false,如果separator的值在string中找不到,那么函数返回包含strIng单个元素的数组。如果参数limit是负数,则返回除了最后的limit个元素外的所有元素。

 
输出结果:
Array ( [0] => 早上 [1] => 下午 [2] => 晚上 )  
 ";
}
?>
输出结果:
0 - 一月 
1 - 二月 
2 - 三月  

2、使用implode()函数将数组转换为一个新字符串

 语法格式:string implode(string glue,array pieces);  

参数glue是字符串类型,是要传入的分隔符。参数pieces是数组类型,是要合并元素的数组变量名称。

 
输出结果:
一月@二月@三月  

三、统计数组元素个数

 语法格式:int count(mixed array,[int mode]);  

参数array 是要统计的数组,参数mode是可选参数,值为0或者COUNT_RECURSIVE(1)。如果选中此参数,本函数将递归的对数组计数。对计算多维度数组的所有单元尤其有用。默认值是0。

比如统计一个二位数组的时候,直接默认使用函数只会统计一维数组的个数,而使用了COUNT_RECURSIVE 会统计到二维数组的个数,

 
输出结果:
3  
  array("7点","9点"),
"下午" => array("13点","14点","15点")
);
$count1 = count($arr);
$count2 = count($arr,COUNT_RECURSIVE);
echo "mode为0的值:".$count1;
echo "
"; echo "mode为 COUNT_RECURSIVE 的值:".$count2; ?> 输出结果: mode为0的值:2 mode为 COUNT_RECURSIVE 的值:7

四、查询数组指定元素

 语法格式:mixed array_search(mixed needle,array haystack,[bool strict]);  

参数needle是指定数组中要搜索的值,参数haystack是指定要被搜索的数组,参数strict是可选参数,如果值是true,还将在数组中检查给定值的类型。找到后返回键名,否则会返回false。在早期版本中,函数失败会返回null,而不是false。

 
输出结果:
Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上   

这里是寻找下午,如果返回false,打印没有找到,否则修改该值为明天下午,最后输出结果数组。

五、获取数组中的最后一个元素

 语法格式:mixed array_pop(array array);  

参数array为要查找的数组。array_pop()函数获取并返回了数组的最后一个元素,并将数组的长度减1,如果数组为空,或者不是数组,将返回null。

 ";
echo "数组长度:".$count;
echo "
"; print_r($arr); ?> 输出结果: Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上 ) 最后一个的是:晚上 数组长度:2 Array ( [0] => 早上 [1] => 下午 )

注意:该函数会取出值并数组长度会减小

六、向数组中添加元素

 语法格式:int array_push(array array,mixed var,[mixed....]);  

参数array是指定的数组,参数var是要添加的数组元素的值。Array_push()函数将数组当成一个栈,将传入的变量加入到该数组的末端,数组的长度随着入栈变量数目的增加而增加。返回数组新的单元总数。

 ";
print_r($arr);
?>
输出结果:
数组长度:5
Array ( [0] => 一月 [1] => 二月 [2] => 三月 [3] => 四月 [4] => 五月 )  

七、删除数组中的重复元素

 语法格式:array array_unique(array array);  

参数arrray是输入的数组。将数组元素的值作为字符串排序,然后对每个值只保留第一个键名,忽略所有后面的键名,也就是删除数组中的重复元素。

 "一月","2"=>"二月","3"=>"三月","4"=>"四月","5"=>"三月","6"=>"一月");
echo "处理前:";
print_r($arr);
echo "
"; $af_arr = array_unique($arr); echo "处理后:"; print_r($af_arr); ?> 输出结果: 处理前:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 [5] => 三月 [6] => 一月 ) 处理后:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 )

明天我们来看看php里的日期和时间

收藏
分享
海报
0 条评论
132
上一篇:百度极速版最低提现额度是多少(百度极速版提现有门槛吗) 下一篇:血栓自己能消除吗(有血栓的人每天运动是否好些)

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码