程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 刪除數組中的元素實例程序

php 刪除數組中的元素實例程序

編輯:關於PHP編程

在php中數組量子力學個非常好用的數組類型,下面我來總結一些刪除數組元素的各種方法,刪除數組中的元素,第一想法是使用unset函數,它確實可以刪除,但是可能會在後面操作該數組的時候出現問題。

通過下面的例子來說明:

 代碼如下 復制代碼

$arr = array(0, 1, 2, 3, 4);
$index = 2;
unset($arr[$index]);
echo count($arr);

if (empty($arr[$index])) {
    echo "arr[$index] is empty";
}

print_r($arr);

輸出為:
4
arr[2] is empty
Array([0] => 0 [1] => 1 [3] => 3 [4] =>

4)從上面的輸出結果可以看到數組的長度是正常的,但是下標還是保持原來的,所以按照下標去獲取元素就會出問題。另外此方法對key-value形式的數組是安全的。

 

如何安全的刪除元素呢?可以使用array_splice函數。array_splice()的用途是刪除原始數組中指定的一系列元素,並用其他值代替(如果指定),返回值是被刪除的元素。

 

 代碼如下 復制代碼

$arr = array(0, 1, 2, 3, 4);
$rtn = array_splice($arr, 2, 1);
echo count($arr);
print_r($arr);
print_r($rtn);

輸出為:
4
Array
([0] => 0 [1] => 1 [2] => 3 [3] => 4)
Array([0] =>


2)如果想獲取刪除首位元素後的數組,則可以有兩種方法:

 代碼如下 復制代碼

1、
$arr = array(0, 1, 2, 3, 4);
array_splice($arr, 0, 1);

2、
$arr = array(0, 1, 2, 3, 4);
$arr = array_splice($arr, 1);

還有array_shift() 函數刪除數組中的第一個元素,並返回被刪除元素的值.

相對的array_pop() 函數刪除數組中的最後一個元素.

array_pop()函數刪除並返回數組的最後一個元素。其形式為:

mixed array_pop(aray target_array);

下面的例子從$states數組刪除了最後的一個州:

 代碼如下 復制代碼

 $fruits = array("apple","banana","orange","pear"); 

$fruit = array_pop($fruits); 

 //$fruits = array("apple","banana","orange"); 

//$fruit = "pear";

array_filter()刪除數組中的空元素


函數名:array_filter()
調用方式:array_filter($array)
參數說明:$array 是操作的對象,我們將刪除其中的空元素
實例:

 代碼如下 復制代碼

<?php
    $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
    array_filter($array);
    echo "<pre>";
    print_r($array);
?>
結果:
Array (

     [a] => abc

     [b] => bcd

     [c] => cde

    [d] => def

   )


幾個函數用下來覺得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');

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved