php数组的长度 php使用什么函数可以求得数组的大小



文章插图
php数组的长度 php使用什么函数可以求得数组的大小

文章插图
一、遍历数组
1、使用foreach结构遍历数组
foreach 结构并非操作数组本身,而是操作数组的一个备份 。
<?php$arr = array("mon"=>"星期一","tues"=>"星期二","wed"=>"星期三","thur"=>"星期四","fri"=>"星期五","sat"=>"星期六","sun"=>"星期天");foreach($arr as $day){echo $day." ";}?>输出结果:星期一 星期二 星期三 星期四 星期五 星期六 星期天<?php$arr = array("mon"=>"星期一","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()函数遍历数组
【php数组的长度 php使用什么函数可以求得数组的大小】list()函数是把数组中的值赋值给一些变量 。与array()函数类似,list()函数不是一个真正的函数,而是一种语言结构 。list()函数只能用于数字索引且索引值从0开始的数组 。
语法格式:void list(mixed....);参数 mixed 为被赋值的变量名称
list函数使用过程中还有一个each()函数 。each()函数用于返回当前指针位置的数组值,同时将指针推进到下一个位置 。返回的数组包含4个键,键0和key包含键名,而键1和value包含相应的数据 。如果程序在执行的each()函数时指针已经位于数组末尾,则返回false
<?php$arr = array("早上","下午","晚上");while(list($index,$value)=each($arr)){echo "$index - $value <br/> ";}?>输出结果: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个元素外的所有元素 。
<?php$str = "早上,下午,晚上";$arr = explode(",",$str);print_r($arr);?>输出结果:Array ( [0] => 早上 [1] => 下午 [2] => 晚上 )<?php$str = "一月#二月#三月";$arr = explode("#",$str);while(list($index,$value) = each($arr)){echo "$index - $value <br/>";}?>输出结果:0 - 一月 1 - 二月 2 - 三月2、使用implode()函数将数组转换为一个新字符串
语法格式:string implode(string glue,array pieces);参数glue是字符串类型,是要传入的分隔符 。参数pieces是数组类型,是要合并元素的数组变量名称 。
<?php$arr = array("一月","二月","三月");$str = implode("@",$arr);echo $str;?>输出结果:[email protected]@三月
三、统计数组元素个数
语法格式:int count(mixed array,[int mode]);参数array 是要统计的数组,参数mode是可选参数,值为0或者COUNT_RECURSIVE(1) 。如果选中此参数,本函数将递归的对数组计数 。对计算多维度数组的所有单元尤其有用 。默认值是0 。
比如统计一个二位数组的时候,直接默认使用函数只会统计一维数组的个数,而使用了COUNT_RECURSIVE 会统计到二维数组的个数,
<?php$arr = array("一月","二月","三月");$count = count($arr);echo $count;?>输出结果:3<?php$arr = array("早上" => array("7点","9点"),"下午" => array("13点","14点","15点"));$count1 = count($arr);$count2 = count($arr,COUNT_RECURSIVE);echo "mode为0的值:".$count1;echo "<br/>";echo "mode为 COUNT_RECURSIVE 的值:".$count2;?>输出结果:mode为0的值:2mode为 COUNT_RECURSIVE 的值:7四、查询数组指定元素
语法格式:mixed array_search(mixed needle,array haystack,[bool strict]);参数needle是指定数组中要搜索的值,参数haystack是指定要被搜索的数组,参数strict是可选参数,如果值是true,还将在数组中检查给定值的类型 。找到后返回键名,否则会返回false 。在早期版本中,函数失败会返回null,而不是false 。
<?php$arr = array("早上","下午","晚上");$key = array_search("下午",$arr);if($key==false){echo "没有找到";}else{$arr[$key] = "明天下午";}print_r($arr);?>输出结果:Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上 这里是寻找下午,如果返回false,打印没有找到,否则修改该值为明天下午,最后输出结果数组 。
五、获取数组中的最后一个元素
语法格式:mixed array_pop(array array);参数array为要查找的数组 。array_pop()函数获取并返回了数组的最后一个元素,并将数组的长度减1,如果数组为空,或者不是数组,将返回null 。
<?php$arr = array("早上","下午","晚上");$str = array_pop($arr);$count = count($arr);echo "最后一个的是:".$str;echo "<br/>";echo "数组长度:".$count;echo "<br/>";print_r($arr);?>输出结果:Array ( [0] => 早上 [1] => 明天下午 [2] => 晚上 ) 最后一个的是:晚上数组长度:2Array ( [0] => 早上 [1] => 下午 )注意:该函数会取出值并数组长度会减小
六、向数组中添加元素
语法格式:int array_push(array array,mixed var,[mixed....]);参数array是指定的数组,参数var是要添加的数组元素的值 。Array_push()函数将数组当成一个栈,将传入的变量加入到该数组的末端,数组的长度随着入栈变量数目的增加而增加 。返回数组新的单元总数 。
<?php$arr = array("一月","二月","三月");$count = array_push($arr,"四月","五月");echo "数组长度:".$count;echo "<br/>";print_r($arr);?>输出结果:数组长度:5Array ( [0] => 一月 [1] => 二月 [2] => 三月 [3] => 四月 [4] => 五月 )七、删除数组中的重复元素
语法格式:array array_unique(array array);参数arrray是输入的数组 。将数组元素的值作为字符串排序,然后对每个值只保留第一个键名,忽略所有后面的键名,也就是删除数组中的重复元素 。
<?php$arr = array("1"=>"一月","2"=>"二月","3"=>"三月","4"=>"四月","5"=>"三月","6"=>"一月");echo "处理前:";print_r($arr);echo "<br/>";$af_arr = array_unique($arr);echo "处理后:";print_r($af_arr);?>输出结果:处理前:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 [5] => 三月 [6] => 一月 )处理后:Array ( [1] => 一月 [2] => 二月 [3] => 三月 [4] => 四月 )明天我们来看看php里的日期和时间