PHP中的密钥的递归数组搜索

时间:2013-05-30 06:17:36

标签: php arrays

我正在尝试使用array_search来查找关联的值对

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

Array () {
  Client_Information_1 => James
  Client_Information_2 => Doe
  ....
         }

每次调用它时,我都需要返回值(第一次调用 - >詹姆斯......第二次调用 - > Doe ..等)。问题是它没有将值对返回给我。该针包含索引“Client_Information_1”。

我的解决方案:

function recursive_array_search($saved_forms, $needle)
{
   foreach($saved_forms as $key => $value)
   {
      if ( $saved_forms[$key] === $needle )

         return $key;
   }
   return false;
}
我的循环中的

函数调用:

   $return_field = recursive_array_search($saved_data,$needle);

2 个答案:

答案 0 :(得分:1)

$ key是您要搜索的内容,$ value是您想要返回的内容(它们在该索引处的值)

所以if语句应该如下所示:

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

答案 1 :(得分:0)

由于你的函数根本不是递归的,或者做了其他任何特别的事情,所以这也可以做同样的事情:

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