您的位置:首页 > 编程语言 > PHP开发

php数组操作,删除第一个和最后一个元素

2014-12-12 21:41 453 查看
对于一个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。


array:数组
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);


php array_shift删除数组中的第一个值:
定义和用法
array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。
注释:如果键是数字的,所有元素都将获得新的键,从 0 开始,并以 1 递增。(参见例子 2)。
语法
array_shift(array)
参数    描述
array    必需。规定输入的数组。
例子 1
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [b] => Cat [c] => Horse )
例子 2
带有数字键:
<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [0] => Cat [1] => Horse )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: