本文和大家分享的主要是php
中從數(shù)據(jù)刪除元素的幾種方法,一起來(lái)看看吧,希望對(duì)大家
學(xué)習(xí)php有所幫助。
刪除一個(gè)元素,且保持原有索引不變
使用 unset
函數(shù),示例如下:
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
//↑
你想刪除的
key?>
輸出:
Array (
[0] => a
[2] => c
)
使用 unset
并未改變數(shù)組的原有索引。如果打算重排索引(讓索引從0
開(kāi)始,并且連續(xù)),可以使用array_values
函數(shù):
$array = array_values($array);
/*
輸出array(2) {
[0]=>
string(1) "a"
[1]=>
string(1) "c"
}
*/
刪除一個(gè)元素,不保持索引
使用 array_splice
函數(shù),示例如下:
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
//↑
你想刪除的元素的
Offset?>
輸出:
Array (
[0] => a
[1] => c
)
按值刪除多個(gè)元素,保持索引
使用 array_diff
函數(shù),示例如下:
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
//└────────┘→
你想刪除的數(shù)組元素值
values?>
輸出:
Array (
[1] => b
)
與 unset
類似, array_diff
也將保持索引。
按鍵刪除多個(gè)元素,保持索引
使用 array_diff_key
函數(shù),示例如下:
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
//↑ ↑
你想刪除的數(shù)組鍵
keys?>
輸出:
Array (
[1] => b
)
與 unset
類似, array_diff_key
也將保持索引。
來(lái)源:David's World