php删除array数组中指定元素的方法

删除php数组中的单个元素使用unset()array_splice()方法,array_splice()在释放数组指定元素上与unset()函数取到相同作用。

删除数组中的多个元素则使用array_diff()array_diff_key()方法。

提示:知道值(value),不知道键(key),可以使用array_search()方法来获取键(key)。

删除单个元素

unset()方法

提示:使用unset()方法删除数组元素,不会改变其他的键(key)。

<?php
	$array = array(0 => '小明', 1 => '小红', 2 => '小强');
	unset($array[1]);
	//或者
	unset($array['小红']);
	print_r($array);
?>

输出结果

Array (
    [0] => 小明
    [2] => 小强
)

删除小红后,“小明”的key保持为0,“小强”的key保持为2

array_splice() 方法

提示:使用array_splice()方法删除数组的元素,数组的键会自动重新建立索引, 但对关联性的数组不起作用,需要使用array_values()将键转换为数字键。

<?php
	$array = array(0 => '小明', 1 => '小红', 2 => '小强');
	array_splice($array, 1, 1);
	print_r($array);
?>

输出结果

Array (
    [0] => 小明
    [2] => 小强
)

删除多个元素

array_diff() 方法

知道要删除的元素的值,使用该方法

<?php
	$array = array(0 => '小明', 1 => '小红', 2 => '小强');
	$array = array_diff($array, ['小明', '小强']);
	print_r($array );
?>

输出结果

Array
(
    [1] => 小红
)

array_diff_key() 方法

知道要删除的数组元素的键(key), 使用 该方法。

注意:需要在函数的第二个参数的键值位置输入要删除的键,值根据自己喜欢,不需要也可以。

<?php
	$array = array(0 => '小明', 1 => '小红', 2 => '小强');
	$array = array_diff_key($array, [0 => '小明', "2" => '小强']);
	print_r($array);
?>

输出结果

Array
(
    [1] => 小红
)
关键词: php教程