[PHP-users 34250] Re: 再帰処理について
ikari-ml @ ecoin.jp
ikari-ml @ ecoin.jp
2009年 1月 18日 (日) 22:21:33 JST
碇です
再起処理の場合は再帰呼び出しの方がいいと思います
階層がいくら深くなってもこのコードは動作します
------------------------------------------------------
$arr = array();
$a = "";
func1($hogehoge,&$arr,$a);
function func1($hogehoge,$arr,$a){
foreach( $hogehoge as $key => $value){
if(is_array($value)){
$b = $a."/".$key;
func1( $value,&$arr,$b);
}else{
$c = $a."/".$value;
array_push($arr,$c);
}
}
}
------------------------------------------------------
foreach($arr as $value){
echo $value."\n";
}
On Sun, 18 Jan 2009 14:39:18 +0900
"decoy" <youtube0318 @ gmail.com> 様wrote:
>decoyです。
>
>配列の順番を変えたり、増やしたりして動作確認しましたが
>下記のコードで特に問題は発生しませんでした。
>
>大変助かりました。
>ありがとうございます。
>
>また、何かありましたらご連絡させて頂ければと思います。
>
>// decoy
>
>----- Original Message -----
>From: "Takenori Higashimura" <oni @ izumi-si.co.jp>
>To: "PHP-users ML" <php-users @ php.gr.jp>
>Sent: Sunday, January 18, 2009 1:21 PM
>Subject: [PHP-users 34248] Re: 再帰処理について
>
>
>> 東村です。
>> 引数リストが違いますが、以下ではどうでしょうか。
>> PHP 5.2.6 では動作しました。
>> function hoge($hoge) {
>> $a = array();
>> foreach($hoge as $key => $value) {
>> if (is_array($value)) {
>> foreach(hoge($value) as $b) {
>> array_push($a,$key . '/' . $b);
>> }
>> } else {
>> array_push($a,$value);
>> }
>> }
>> return $a;
>> }
>>
>> _______________________________________________
>> PHP-users mailing list PHP-users @ php.gr.jp
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>
>_______________________________________________
>PHP-users mailing list PHP-users @ php.gr.jp
>http://ml.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://oldwww.php.gr.jp/php/novice.php3
--
碇 永志
<ikari-ml @ ecoin.jp>
PHP-users メーリングリストの案内