あなただけのキーの一致に基づいて値を再帰または返すために自分自身を使用する再帰的なイテレータをしなければならない。
<?php
$arr = array(
'success' => 1,
'errors' => array(),
'data' => array(
'Messages' => array(
573 => 'PHP is fun'
)
)
);
function recurseIt($array,$find = false)
{
# Loop through array
foreach($array as $key => $value) {
# If the key is the same as the value
if($key == $find)
# Send back the value
return $value;
# If the value is an array
if(is_array($value)) {
# Use same array to recurse the array
$val = recurseIt($value,$find);
# If there is a value to return
if(!empty($val))
# Send it back
return $val;
}
}
}
# Note, if the key matches, could also be an array
echo recurseIt($arr,573);
あなたが与える:
PHP is fun
EDIT:
を
おそらくキーがわからない場合は値があるので、検索値に基づいてキーを返します:
function recurseIt($array,$find = false)
{
foreach($array as $key => $value) {
# If the key is the same as the value
if(!is_array($value) && ($value == $find))
# Send back the key name
return $key;
if(is_array($value)) {
$val = recurseIt($value,$find);
if(!empty($val))
return $val;
}
}
}
echo recurseIt($arr,'PHP is fun');
はあなたを与える:
今
573
、あなたはその関数がどのように認識していない、キー名が何であるかを知らないと、関連する値は次のようになりわからない場合サーチ。 read_my_mind()
はまだPHPライブラリには入っていないので、その時点であなたはかなり運が悪いです。
サンプル配列の表示 –
メッセージの下のすべての列を取得しますか?あるいは、特定の列を検索したいとしますか?たとえば、573を検索し、PHPが楽しいという結果を得るなどですか? –
答えがあなたの問題を解決した場合は、答えを受け入れることを検討してください。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workがここに戻って、ティック/チェックマークで緑色に変わるまで同じことを行う方法があります。これはコミュニティに通知し、解決策が見つかりました。そうでなければ、他の人は質問がまだ開いていると思うかもしれませんし、(もっと)回答を投稿したいかもしれません。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 * Stackへようこそ!* –