この関数は、配列の範囲内の項目を見つけてキーを返すことを目的としています。ところで再帰関数:エコーが動作し、戻り値が返されない
function listArray($tb, $target){
foreach($tb as $key => $value){
if(is_array($value)){ // current value is an array to explore
$_SESSION['group'] = $key; // saving the key in case this array contains the searched item
listArray($value, $target);
}else {
if ($target == $value) { // current value is the matching item
return $_SESSION['group']; //Trying to return its key
break; // I'd like to close foreach as I don't need it anymore
}
}
}
}
、他の小さい事:
問題は、それが期待される結果をエコーしまうのに対し、関数は、何も返さないということです... は、ここに私のコードで私はよ再帰関数には使用されず、セッション変数を使用する以外の方法はありませんでした。しかし、私はこのセッション変数を他の場所で使用しないため、より良いやり方があるかもしれません...
何も起こりませんか?つまり、$ valueが配列ではないが、それも!= $ targetである場合。これは問題の原因かもしれません。 – Ynhockey
関数の目的は何ですか? – Sirko
この関数は、配列の範囲内の項目を見つけてキーを返すことを目的としています。 – Yako