有时我们需要将一个数组或删除阵列的一部分,和PHP提供了一些功能的扩展和收缩的阵列。程序员谁想要模仿各种队列实现(先进先出,后进先出),这些功能可以方便。顾名思义,函数名称(推、流行、移,和位置)显然是从这些功能中体现。
传统的队列是一种数据结构。元素的缺失作为添加元素一样,被称为先进先出,或FIFO。相反,堆栈是另一个数据结构中删除元素的顺序是相反的,当他们加入,这成为了一出,还是后进先出法。
向数组头添加元素
的array_unshift()函数将元素添加到数组的头。所有的数字键已被修改,以反映他们的阵列中的新位置,但关联键不受影响。形式如下:
array_unshift(int数组,混合变量{,}混合变量)
下面的例子将两种水果添加到水果数组的前面。
水果=数组(苹果
array_unshift($水果,橙
水果=数组( 橙色)
在数组的结尾添加元素
对array_push()函数的返回值是int型,这是压后的数据数组中元素的个数。它可以将这个函数的多个变量作为参数传递,同时将多个变量压缩到数组中:
(数组数组,混合变量{混合变量…})
下面的示例将两个水果添加到水果数组中。
水果=数组(苹果
array_push($水果,橙
水果=数组()
从数组头中删除值
的array_shift()函数删除并返回数组中的元素,如果值的健康使用,所有相应的值会向下移动,并使用相关的关键的阵列形式是不受影响:
混合array_shift(阵列)
下面的示例删除苹果数组中的第一个元素:
水果=数组(苹果
果为array_shift美元(美元的水果);
水果=数组(香蕉
苹果;
从数组的结尾删除元素
的array_pop()函数删除并返回数组的最后一个元素的形式:
混合array_pop(该target_array);
下面的示例删除$状态数组中的最后一个状态:
水果=数组(苹果
果为array_pop美元(美元的水果);
水果=数组()
梨;
搜索、筛选和搜索数组元素是数组操作的一些常见功能。
in_array()函数
in_array()的数组中总结一个特定的值函数搜索,并返回false,如果发现价值回到真实,形式如下:
布尔in_array(混合针阵列草堆{,布尔严格});
看看下面的例子,看看变量苹果是否已经在数组中,以及是否有一条信息:
水果=苹果;
水果=数组(苹果
如果(in_array($水果,水果美元))
$水果已经在数组中了;
第三个参数是可选的,这迫使in_array()在搜索考虑的类型。
array_key_exists()函数
如果你发现在一个数组中指定的键,功能array_key_exists()返回true,否则返回false,形式如下:
布尔array_key_exists(混合键,数组);
下面的示例在数组键中搜索苹果,如果找到,它将输出果实的颜色:
美元水果苹果=红;
水果$ 香蕉=黄色;
美元水果梨=绿色;
如果(array_key_exists(苹果
printf(苹果的颜色是%s
}
执行此代码的结果:
苹果的颜色是红色。
array_search()函数
array_search()的数组中指定的值函数搜索,如果找到返回对应的密钥,或返回false。形式如下:
混合array_search(混合针阵列草堆{,布尔严格})
下面的示例在$果中搜索特定日期(12月7日),如果找到的话返回相关的状态信息。
{苹果果实美元=红色;
水果$ 香蕉=黄色;
水果$ {西瓜绿色};
成立array_search(美元=绿色
如果(成立)
printf(%s %s成立
该计划的结果如下:
西瓜是绿色的。
array_keys()函数
的array_keys()函数返回一个数组包含所有的键在搜索数组的形式如下:
array_keys阵列(阵列混合search_value {,})
如果可选的参数search_value在内,它将只返回匹配值的关键。下面的例子将输出所有阵列在$果阵发现:
美元水果苹果=红;
水果$ 香蕉=黄色;
水果$ {西瓜绿色};
钥匙= array_keys美元(美元的水果);
print_r($键);
该计划的结果如下:
数组({ 0 } { 1 } =苹果>香蕉{ 2 } =西瓜)
array_values()函数
的array_values()函数返回一个数组中的自动提供返回的数组的数值索引的所有值的形式如下:
array_values阵列(阵列)
下面的示例将获得$元素中每个元素的值:
美元水果苹果=红;
水果$ 香蕉=黄色;
水果$ {西瓜绿色};
价值=美元(美元array_values水果);
print_r(美元值);
该计划的结果如下:
数组({ 0 } { 1 } >红色>黄色{ { 2 } =绿色)