Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中键的递归数组搜索_Php_Arrays - Fatal编程技术网

PHP中键的递归数组搜索

PHP中键的递归数组搜索,php,arrays,Php,Arrays,我正在尝试执行数组搜索以查找关联的值对 我有一个名为$saved_data的数组,它包含 Array () { Client_Information_1 => James Client_Information_2 => Doe .... } 每次调用时,我都需要返回值(第一次调用->詹姆斯..第二次调用->多伊..等等)。问题是它没有将值对返回给我。指针包含索引“客户端信息1” 我的解决方案: 我的循环中的函数调用: $key是您正在搜索的内容,$va

我正在尝试执行数组搜索以查找关联的值对

我有一个名为
$saved_data
的数组,它包含

Array () {
  Client_Information_1 => James
  Client_Information_2 => Doe
  ....
         }
每次调用时,我都需要返回值(第一次调用->詹姆斯..第二次调用->多伊..等等)。问题是它没有将值对返回给我。指针包含索引“客户端信息1”

我的解决方案: 我的循环中的函数调用:
$key是您正在搜索的内容,$value是您想要返回的内容(它们在该索引处的值)

因此,if语句应该如下所示:

if ( $key === $needle ) {
     return $value;
}

由于您的函数根本不是递归函数或执行任何其他特殊操作,因此这将很好地执行相同的操作:

$return_field = isset($saved_data[$needle]) ? $saved_data[$needle] : false;

问题是……
$saved_表单[$key]
等于
$value
。你比较错了。它不会把$key还给我,它总是返回false。你的问题是什么?顺便说一下,我在这里没有看到任何递归。。。
if ( $key === $needle ) {
     return $value;
}
$return_field = isset($saved_data[$needle]) ? $saved_data[$needle] : false;