对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作。
(1)使用 array_pop 删除数组的最后一个元素,例如:
$user=array('apple','banana','orange');
$result=array_pop($user);
print_r($result);
print_r($user);
结果将是:
orange
array('apple','banana')
(2)使用 array_shift 删除数组的第一个元素,例如:
查看代码打印
$user=array('apple','banana','orange');
$result=array_shift($user);
print_r($result);
print_r($user);
结果将是:
apple
array('banana','orange')
其实删除数组的第一个元素还可以使用 array_splice 这个函数,即:
$user=array_splice($user,1); //删除数组第一个元素,注意此时返回的是被删除后的新的数组
下面简单的对 array_pop 和 array_shift 做一下解释:
array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL。
array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果 array 为空(或者不是数组),则返回 NULL。
offset: 规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。 一、PHP取索引数组的第一个 取索引数组的第一个元素非常容易,下标写0即可,不多解释。 重点和大家分享PHP取关联数组第一个的方法。先放上我今天写的代码: // 取默认第一个渠道名 $channel_arr = $ this ->get_from_channel(); // 所有渠道数组 $arr_num = count($channel_arr); $first_channel = array_slice($channel_arr, 0 ,-($arr_num- 1 )); // 取渠道数组第一个 $html[ ' from_channel ' ] = $first_channel[ 0 ]; <? php $a =array( 0 => " Dog " , 1 => " Cat " , 2 => " Horse " , 3 => " Bird " ); print_r(array_slice($a, 1 , 2 )); Array ( [ 0 ] => Cat [ 1 ] => Horse ) 还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值. 相对的array_pop() 函数删除数组中的最后一个元素. 几个函数用下来觉得array_search()比较实用 array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false 代码如下 复制代码 $array = array( ' 1 ' , ' 2 ' , ' 3 ' , ' 4 ' , ' 5 ' ); $del_value = 3 ; unset($array[array_search($del_value , $array)]); // 利用unset删除这个元素 print_r($array); array( ' 1 ' , ' 2 ' , ' 4 ' , ' 5 ' ); PHP中删除数组中某个元素 在PHP中删除数组元素有以下几种方法: 要删除一个元素,用onset() 代码如下 复制代码 unset($array[ 3 ]); unset($array[ ' foo ' ]); 要删除多个不连续的元素,也用unset() 代码如下 复制代码 unset($array[ 3 ] $array[ 5 ]); unset($array[ ' foo ' ] $array[ ' bar ' ]); 要删除多个连续的元素,用array_splice() 代码如下 复制代码 array_splice($array $offset $length); 定义和用法 array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。 注释:如果键是数字的,所有元素都将获得新的键,从 0 开始,并以 1 递增。(参见例子 2 )。 array_shift(array) 参数 描述 array 必需。规定输入的数组。 <? php $a =array( " a " => " Dog " , " b " => " Cat " , " c " => " Horse " ); echo array_shift($a); print_r ($a); Array ( [b] => Cat [c] => Horse ) 带有数字键: <? php $a =array( 0 => " Dog " , 1 => " Cat " , 2 => " Horse " ); echo array_shift($a); print_r ($a); Array ( [ 0 ] => Cat [ 1 ] => Horse )