PHP数组函数知识汇总

数组array是非常重要的数据类型。相对于其他的数据类型,它更像是一种结构,而这种结果构可以存储一系列数值。数组能够在单一变量名中存储许多值,并且能够通过引用下标号来访问某个值。
PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组

一、创建数组

array(key => value)

1、创建索引数组

使用array()函数声明数组。PHP属于弱类型语言相对较灵活和方便,也可以直接是数组的元素值value,不需要键值key,索引是自动分配的(索引从 0 开始)。
例:

array("1" => "百度","2" => "阿里","3" => "腾讯"); 或者是不使用键值: array("百度","阿里","腾讯"); 当然也可以写成: $arr[0] = "百度"; $arr[1] = "阿里"; $arr[2] = "腾讯";

2、创建关联数组

关联数组和索引数组类似,只是关联数组不能够像索引数组的键名那样只能够为数字,它可以是数值和字符串以及混合形式,判断一个数组是否为关联数组的依据是:数组中的键名是否存在一个不是数字的。不是就是关联。

array("李彦宏" => "百度","马云" => "阿里","马化腾" => "腾讯");

3、多维数组

array(array(),array()) 二维数组

获得数组的长度 - count() 函数

<?php $arr = array("百度","阿里","腾讯"); echo count($arr); ?> //结果返回3(说明数组中有三个元素)

二、遍历数组

输出数组中元素的值。对于索引数组常用for、foreach;对于关联数组常用foreach。使用print_r()函数打印循环后的结果,也可以用var_dump()。

1、遍历索引数组

遍历并输出索引数组的所有值,可以使用for、 foreach(array_expression as value)、foreach(arrayexpressionaskey => $value) 循环,如下:

使用for循环

<?php $arr = array("百度","阿里","腾讯"); $arrlen = count($arr);//获取数组的长度 for ($i=0; $i <$arrlen ; $i++) { $data[] = $arr[$i]; } echo "<pre>"; //换行显示 print_r($data);

打印结果显示如下:
Array
(
    [0] => 百度
    [1] => 阿里
    [2] => 腾讯
)
使用foreach循环

<?php $arr = array("百度","阿里","腾讯"); foreach ($arr as $value) { $data[] = $value; } echo "<pre>"; //换行显示 print_r($data);//打印结果和上面一样

注意:data后面有一个数组符号[],为什么呢?

2、遍历关联数组

遍历并输出关联数组的所有值,可以使用 foreach (array_expression as key=>value) 循环,如下:

<?php $arr = array("李彦宏" => "百度","马云" => "阿里","马化腾" => "腾讯"); foreach ($arr as $key => $value) { $data[$key] = $value; } echo "<pre>"; //换行显示 print_r($data);

打印结果显示:

Array ( [李彦宏] => 百度 [马云] => 阿里 [马化腾] => 腾讯 )

注意到没?此时的data后是[$key]?而不是[]
一个数关联数组一个是数字索引数组,

三、增加删除数组的元素

在数组元素的尾部增加
array_push(array,value1,value2…) 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
该函数等于多次调用 array[]=value。

<?php $arr = array("百度","阿里","腾讯"); array_push($arr,"知乎","微博"); echo "<pre>"; //换行显示 print_r($arr); //打印结果显示: Array ( [0] => 百度 [1] => 阿里 [2] => 腾讯 [3] => 知乎 [4] => 微博 )

在数组元素的开始增加
array_unshift(array,value1,value2,value3…) 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。

<?php $arr = array("百度","阿里","腾讯"); array_unshift($arr,"知乎","微博"); echo "<pre>"; //换行显示 print_r($arr); //打印结果显示: Array ( [0] => 知乎 [1] => 微博 [2] => 百度 [3] => 阿里 [4] => 腾讯 )

在数组元素的尾部删除
array_pop(array) 函数删除数组中的最后一个元素。

<?php $arr = array("百度","阿里","腾讯"); array_pop($arr); echo "<pre>"; //换行显示 print_r($arr); 打印结果显示: Array ( [0] => 百度 [1] => 阿里 )

在数组元素的开始删除
array_shift(array) 函数删除数组中第一个元素 并可以返回被删除元素的值。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8a078d874fa7d520098aefcd243fec4c.html