通过键的多维数组获取数组值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过键的多维数组获取数组值相关的知识,希望对你有一定的参考价值。

The first argument is a variable name which value should be extracted from $array (second argument), or array of keys (multidim array is also supported).
The third argument is a default value which will be return on fail (false by default).

Usage examples:

1) $value = array_traverse('user[name]', $_POST);

2) $value = array_traverse(array('user' => array('name' => '')), $_POST);
  1. function array_traverse($name, $array, $default = false) {
  2. $v = array();
  3.  
  4. if(is_string($name))
  5. parse_str($name, $v);
  6.  
  7. if(is_array($array) && is_array($v)) {
  8. $ref =& $array;
  9.  
  10. while(is_array($v)) {
  11. $first_key = key($v);
  12.  
  13. if(!is_null($first_key) && isset($ref[$first_key])) {
  14. $ref =& $ref[$first_key];
  15. $v = $v[$first_key];
  16. } else
  17. return $default;
  18. }
  19.  
  20. return $ref;
  21. }
  22.  
  23. return $default;
  24. }

以上是关于通过键的多维数组获取数组值的主要内容,如果未能解决你的问题,请参考以下文章

PHP多维数组搜索并获取键的数组[重复]

在php中获取多维数组中键的值

合并一个多维数组中键的值相同的数组

解析没有键的多维 JSON 数组

在 laravel 5.4 刀片中通过键从多维数组中获取值

从多维数组中获取值