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

对于一个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 )

 

你可能感兴趣的:(PHP)