Blogger Information
Blog 28
fans 2
comment 0
visits 23381
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP 删除数组中的元素
背着吉他的女侠
Original
621 people have browsed it

PHP 删除数组中的元素有多种方式,以下列举几种常用的方式。

删除数据中的一个元素
如果你想删除数组中的一个元素,你可以使用 unset() 或 array_splice() 方法。

如果你知道数组元素的值(value),但不知道键(key),你可以使用 array_search() 来获取键(key)。

unset() 方法

注意如果你使用 unset() 方法,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。
<?php
$array = array(0 => “a”, 1 => “b”, 2 => “c”);
unset($array[1]);
//↑ 你要删除的数组元素值的键
print_r($array);
?>
输出结果:

Array (
[0] => a
[2] => c
)
array_splice() 方法

如果你使用 array_splice() 方法,数组的键会自动重新建立索引, 但对关联性的数组不起作用,需要使用 array_values() 将键转换为数字键。

<?php
$array = array(0 => “a”, 1 => “b”, 2 => “c”);
array_splice($array, 1, 1);
//↑ Offset which you want to delete
print_r($array);
?>
输出结果:

Array
(
[0] => a
[1] => c
)
array_splice() 在释放数组指定元素上与 unset() 函数取到相同作用。

删除数组中的多个元素
如果你想删除数组中的多个元素就不能使用吗 unset() 或 array_splice() 函数了,你需要使用 array_diff() 或 array_diff_key() 方法,使用该方法需要知道要删除的键(key)或值(value)。

array_diff() 方法

如果你知道要删除的数组元素, 你可以使用 array_diff()。

<?php
$array = array(0 => “a”, 1 => “b”, 2 => “c”);
$array = array_diff($array, [“a”, “c”]);
//└────────┘→你要删除的元素
print_r($array );
?>
输出结果为:

Array
(
[1] => b
)
array_diff_key() 方法

如果你知道要删除的数组元素的键(key), 你可以使用 array_diff_key()。你需要在函数的第二个参数的键值位置输入要删除的键,值不需要,可随意。

<?php
$array = array(0 => “a”, 1 => “b”, 2 => “c”);
$array = array_diff_key($array, [0 => “xy”, “2” => “xy”]);
//↑ ↑ 你要删除的数组键
print_r($array);
?>
输出结果为:

Array (
[1] => b
)

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post