-1

関連する値のペアを見つけるためにarray_searchを実行しようとしています

$saved_data私はそれが含まれていると呼ばれる配列を持っています

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

呼び出すたびに値を返す必要があります (最初の呼び出し -> James .. 2 番目の呼び出し -> 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);
4

2 に答える 2

1

$key はあなたが探しているもので、 $value はあなたが返したいものです (それらはそのインデックスで評価されます)

したがって、if ステートメントは次のようになります。

if ( $key === $needle ) {
     return $value;
}
于 2013-05-30T06:24:01.687 に答える
0

あなたの関数はまったく再帰的ではないか、何か特別なことをしていないので、これは同じことを問題なく行います:

$return_field = isset($saved_data[$needle]) ? $saved_data[$needle] : false;
于 2013-05-30T06:29:44.753 に答える