首頁 >php教程 >php手册 >php 数组添加与删除元素程序代码

php 数组添加与删除元素程序代码

WBOY
WBOY原創
2016-05-25 16:53:441071瀏覽

在php中删除数组元素与增加数组元素的方法有很多种,下面小编来给各位同学总结一些实用的与常用的数组元素增加删除实例。

增加数据元素有函数,array_push(),array_unshift()函数

一、在数组的末尾添加元素

1.array_push

使用方法

<?php
    $stack = array("orange", "banana");
    array_push($stack, "apple", "raspberry");
    print_r($stack);
?>

输出:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

2.$arr[]

使用方法

<?php
    $arr = array("orange", "banana");
    $arr[]=&#39;apple&#39;;
    print_r($arr);
?>

这两种的效果是一样的

注意:如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。

二、在数组开头插入元素

1.array_unshift

使用方法

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

输出

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

删除数组元素unset,或直接设置空

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊

<?php  
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;);  
unset($arr[1]);  
print_r($arr);  
?>  
print_r($arr);

之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )

那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():

<?php  
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;);  
array_splice($arr,1,1);  
print_r($arr); 
?>

print_r($arr)之后,结果是Array ( [0] => a [1] => c [2] => d )

删除数组指定元素

如array_slice() 函数在数组中根据条件取出一段值,并返回.

array_slice(array,offset,length,preserve)

array:数组

offset: 规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。

<?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(&#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;);
$del_value = 3;
unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
print_r($array);

输出

array(&#39;1&#39;, &#39;2&#39;, &#39;4&#39;, &#39;5&#39;);


教程链接:

随意转载~但请保留教程地址★

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn