2次元配列値を1列検索し、見つかったときにそのキーを返すコードを記述しようとしています。今私は、値を見つけて真か偽かを返す関数と、キーを返す別の(機能しない)関数の2つの関数を持っています。私は発見関数の再帰的な性質を保持するが、キーを返すという意味で2つをマージしたいと思う。私は両方の機能を1つの機能で行う方法を考えることはできませんが、作業中のキーファインダーは大変感謝しています。PHP検索多次元配列 - 非関連
おかげ
function in_array_r($needle, $haystack, $strict = true) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
function loopAndFind($array, $index, $search){
$returnArray = array();
foreach($array as $k=>$v){
if($v[$index] == $search){
$returnArray[] = $k;
}
}
return $returnArray;
} `
は申し訳ありませんが、私は例を追加するためのもの。たとえば、
Array [0]{
[0]=hello
[1]=6
}
[1]
{
[0]=world
[1]=4
}
と[x] [0]インデックスで配列を検索して、検索語句の各文字列を確認したいとします。見つかった場合は、 "world"のようにメイン配列のインデックス/キーを返す必要があります。1
は、あなたがそれ内で一致したいものをハイライト表示の例アレーを投稿してもらえますか? "2次元配列値の1つの列とキーを返す"はあまり明確ではありません。 – Ing
なぜ2番目の関数でインデックスを使用していますか? – WordsWorth
私は上記の例を掲載しましたが、私はなぜインデックスを使用しているのかわかりません。私はArray [0] {[index] = stuff、[1] = words}などのように2番目の配列のインデックスであると考えていたと思います –