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

Naofumi Kondoh php-users@php.gr.jp
2002年9月25日 16:27:39 +0900


ソフト工房の近藤です。
FUJIMOTO Yoshihiko wrote:
> 藤本@質問者です。

....略....
藤本さんのコードで値が入りますね。
PHP 4.2.1 と 4.1.2 とバージョンは違いますが。
error_reporting は、E_ALL になってますか?。
藤本さんのコードのままだと、タイプミスがあって、
Warning の山になりますが、入るところには、値が入ってます。
print_r(sample());
としてみたらどうなりますか?。
-------------------------------------------------------------
修正後のコード
error_reporting(E_ALL);
$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);
}
print_r(sample()); // これを実行してみて下さい。
list($hoge1,$hoge2)=sample();
echo("<hr>\n");
//ループが逆 for($iy2=0 ; $iy2 <= $iCountY ; $iy2++){
 // for($ix2=0 ; $ix2 < $iCountX ; $ix2++){
for($ix2=0 ; $ix2 < $iCountX ; $ix2++){
 for($iy2=0 ; $iy2 < $iCountY ; $iy2++){
 // 添え字の y x が逆
 // echo("hoge1[".$iy2."][".$ix2."]=".$hoge1[$iy2][$ix2]."<br>\n");
 // echo("hoge2[".$iy2."][".$ix2."]=".$hoge2[$iy2][$ix2]."<br>\n");
 echo("hoge1[".$ix2."][".$iy2."]=".$hoge1[$ix2][$iy2]."<br>\n");
 echo("hoge2[".$ix2."][".$iy2."]=".$hoge2[$ix2][$iy2]."<br>\n");
 }
}
echo("<hr>\n");
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房 近藤直文 Email: nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/ http://www.shonan.ne.jp/~nkon/
2002年09月26日(木)19:00-21:30 第6回 JPUG 業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

AltStyle によって変換されたページ (->オリジナル) /