• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:再帰の仕方)

配列の再帰処理方法と配列の要素を結合する方法

このQ&Aのポイント
  • 配列の再帰処理を行い、配列の要素を結合する方法について質問しています。
  • 現在の配列の出力結果と目的の配列の出力結果を示し、目的の配列の出力結果を実現するための処理ができない状況に悩んでいます。
  • 既に実装している再帰処理では、要素を出力する際には正常に動作しているが、配列に要素を追加する方法がわからず困っています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#30334
noname#30334
回答No.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); } } }

kamui-h
質問者

お礼

できました!! なるほど、global を使うことで解決できるのですね。 勉強になりました、 どうも、ありがとうございました!!

その他の回答 (1)

noname#30334
noname#30334
回答No.1

配列に追加するんですよね。 array_pushでいけると思いますよ。 array_push($fruit, $value);

参考URL:
http://php.plus-server.net/function.array-push.html
kamui-h
質問者

お礼

ありがとうございます。 そのことは私も考え以下のように試したのですがダメでした・・・。 $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);

関連するQ&A