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] => 小红 )
<< 上一篇