如何从关联数组中删除键及其值?

新手上路,请多包涵

给定一个关联数组:

 array("key1" => "value1", "key2" => "value2", ...)

给定键,我将如何删除某个键值对?

原文由 gsquare567 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 824
2 个回答

您可以使用 unset

 unset($array['key-here']);

例子:

 $array = array("key1" => "value1", "key2" => "value2");
print_r($array);

unset($array['key1']);
print_r($array);

unset($array['key2']);
print_r($array);

输出:

 Array
(
    [key1] => value1
    [key2] => value2
)
Array
(
    [key2] => value2
)
Array
(
)

原文由 Sarfraz 发布,翻译遵循 CC BY-SA 4.0 许可协议

考虑这个数组:

 $arr = array("key1" => "value1", "key2" => "value2", "key3" => "value3", "key4" => "value4");

  • 要使用数组删除元素 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" }

  • 通过 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" }

阅读有关 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" }

阅读有关 array_splice 的更多信息:http: //php.net/manual/en/function.array-splice.php

原文由 Sahith Vibudhi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题