[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 のバージョンの問題なのでしょうか??。