- ベストアンサー
配列の再帰処理方法と配列の要素を結合する方法
- 配列の再帰処理を行い、配列の要素を結合する方法について質問しています。
- 現在の配列の出力結果と目的の配列の出力結果を示し、目的の配列の出力結果を実現するための処理ができない状況に悩んでいます。
- 既に実装している再帰処理では、要素を出力する際には正常に動作しているが、配列に要素を追加する方法がわからず困っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
あらら。申し訳ありません。 ちゃんと検証しないとダメですね。 下記ならいけると思います。 $fruit = array("orange", array("apple", array("banana", array("Strawberry")))); $new_array = array(); first_array($fruit); print_r($new_array); function first_array($fruit) { global $new_array; foreach($fruit as $key => $value) { if(! is_array($value) === true ) { //echo $value; array_push($new_array, $value); } else { first_array($value); } } }
その他の回答 (1)
配列に追加するんですよね。 array_pushでいけると思いますよ。 array_push($fruit, $value);
お礼
ありがとうございます。 そのことは私も考え以下のように試したのですがダメでした・・・。 $fruit = array("orange", array("apple", array("banana", array("Strawberry")))); function first_array($fruit) { $new_array = array(); foreach($fruit as $value) { array_push($new_array, ( is_array($value) ? first_array($value) : $value ) ); } return $new_array; } $new_array = first_array($fruit);
お礼
できました!! なるほど、global を使うことで解決できるのですね。 勉強になりました、 どうも、ありがとうございました!!