[PHP-users 10337] Re: 関数内での2次元配列の返り値を取得するには?

FUJIMOTO Yoshihiko php-users@php.gr.jp
Wed, 25 Sep 2002 14:59:26 +0900


藤本@質問者です。

> ソフト工房の近藤です。

こんにちは。ごぶさたします..(^^ゞ

> # プログラムコードは、コピー・ペーストで、そのまま実行
> # できるように書いて欲しいな。

スミマセン..m(_"_)m

回答者にサンプルソースを書いていただくなんて..。失礼いたしました。


> ....略....
> > PHP は 4.1.2 です。
> >
> > 関数内で生成した2次元配列を返り値で返してやるには、どの様に記述すれば
> > 良いのでしょうか?。
> 
> PHP 4.2.1 ですが、ご要望の通りの事ができます。
> どんなエラーになるのでしょうか?。

parse error などが表示されるのではなく、単純に値が入っているハズの変数
が空っぽのままです。

近藤さんに書いていただいたサンプルを参考に

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
$iCountX=40;
$iCountY=32;

function sample(){
   global $iCountX,$iCountY;
   for($ix2=0 ; $ix2 <= $iCountX ; $ix2++){
      for($iy2=0 ; $iy2 < $iCountY ; $iy2++){
         $HOGE1[$ix2][$iy2]=$ix2*1000+$iy2;
         $HOGE2[$ix2][$iy2]=$ix2+$iy2;
      }
   }
   return array($HOGE1,$HOGE2);
}

list($hoge1,$hoge2)=sample();

echo("<hr>\n");
for($iy2=0 ; $iy2 <= $iCountY ; $iy2++){
   for($ix2=0 ; $ix2 < $iCountX ; $ix2++){
      echo("hoge1[".$iy2."][".$ix2."]=".$hoge1[$iy2][$ix2]."<br>\n");
      echo("hoge2[".$iy2."][".$ix2."]=".$hoge2[$iy2][$ix2]."<br>\n");
   }
}
echo("<hr>\n");
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

と記述して、実行してみましたが、

hoge1[0][0]=
hoge2[0][0]=
hoge1[0][1]=
hoge2[0][1]=
hoge1[0][2]=
hoge2[0][2]=
...
hoge1[32][38]=
hoge2[32][38]=
hoge1[32][39]=
hoge2[32][39]=

と表示され、値が入っていません。

PHP のバージョンの問題なのでしょうか??。