给定一个关联数组:
array("key1" => "value1", "key2" => "value2", ...)
Run Code Online (Sandbox Code Playgroud)
考虑到密钥,我如何去除某个键值对?
Sar*_*raz 351
你可以使用unset:
unset($array['key-here']);
Run Code Online (Sandbox Code Playgroud)
例:
$array = array("key1" => "value1", "key2" => "value2");
print_r($array);
unset($array['key1']);
print_r($array);
unset($array['key2']);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[key1] => value1
[key2] => value2
)
Array
(
[key2] => value2
)
Array
(
)
Run Code Online (Sandbox Code Playgroud)
小智 17
使用此函数删除特定的键数组而不修改原始数组:
function array_except($array, $keys) {
return array_diff_key($array, array_flip((array) $keys));
}
Run Code Online (Sandbox Code Playgroud)
第一个param传递所有数组,第二个param设置要删除的键数组.
例如:
$array = [
'color' => 'red',
'age' => '130',
'fixed' => true
];
$output = array_except($array, ['color', 'fixed']);
// $output now contains ['age' => '130']
Run Code Online (Sandbox Code Playgroud)
考虑这个数组:
$arr = array("key1" => "value1", "key2" => "value2", "key3" => "value3", "key4" => "value4");
Run Code Online (Sandbox Code Playgroud)
要使用数组删除元素key:
// To unset an element from array using Key:
unset($arr["key2"]);
var_dump($arr);
// output: array(3) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Run Code Online (Sandbox Code Playgroud)通过以下方式删除元素value:
// remove an element by value:
$arr = array_diff($arr, ["value1"]);
var_dump($arr);
// output: array(2) { ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Run Code Online (Sandbox Code Playgroud)阅读有关 array_diff 的更多信息:http://php.net/manual/en/function.array-diff.php
要使用以下方法删除元素index:
array_splice($arr, 1, 1);
var_dump($arr);
// array(1) { ["key3"]=> string(6) "value3" }
Run Code Online (Sandbox Code Playgroud)阅读有关 array_splice 的更多信息:http://php.net/manual/en/function.array-splice.php