0
以下は私の配列の見た目のダンプです。役人と呼ばれる内側の配列があり、それをループして特定の役員がいるかどうかを確認したい場合は、外側の配列のインデックスキーを取得したいと考えています。3次元配列のキーを取得
'edges' =>
array (size=59)
0 =>
array (size=3)
'source' => int 0
'target' => int 12
'officers' =>
array (size=1)
0 => string 'PARKER, Thomas, Sir' (length=19)
1 =>
array (size=3)
'source' => int 0
'target' => int 19
'officers' =>
array (size=1)
0 => string 'STEVENS, Anne' (length=13)
私はSTEVENS、アンのチェックのであれば、私はここでキー1
を取得したいが、私はそれが2D配列ではなく、3Dの配列で動作する別の質問で見つけたコードです。
function array_search_inner ($array, $attr, $val, $strict = FALSE) {
// Error is input array is not an array
if (!is_array($array)) return FALSE;
// Loop the array
foreach ($array as $key => $inner) {
// Error if inner item is not an array (you may want to remove this line)
if (!is_array($inner)) return FALSE;
// Skip entries where search key is not present
if (!isset($inner[$attr])) continue;
if ($strict) {
// Strict typing
if ($inner[$attr] === $val) return $key;
} else {
// Loose typing
if ($inner[$attr] == $val) return $key;
}
}
// We didn't find it
return NULL;
}
私は迅速かつ短期的な解決策を提案できますが、厳密な比較があります。私たちが文字列について話すなら、比較は厳密でなければならないと思います – RomanPerekhrest