[PHP-users 28819] Re: 配列処理について

Shu Sawada luna @ lunanet.gr.jp
2006年 3月 26日 (日) 01:40:29 JST


さわだです。

> $x=array(0=>0,1,2,3);//0=>0で処理が止まる
> while(current($x)){
>   print current($x)."\n";
>   next($x);
> }
> print "end\n";

ええと、たぶん動作は真っ当なものだと思います。

<?php
        if( 0 )
                print "true";
        else
                print "false";

        if( 1 )
                print "true";
        else
                print "false";
?>

みたいなことをやってもらえば、わかるような気がします。
あとは、
- whileがどういう条件でループ継続するか
- PHPマニュアルにある「警告」欄
  http://www.php.net/manual/ja/function.current.php
みたいなことを考えてみると、納得できませんか?

こう変えると期待通りに動くと思うのですが、
while(current($x)!==FALSE){
  print current($x)."\n";
  next($x);
}
なぜそうなるかを考えてみて下さい。

-- 
Shu Sawada
http://luna.lunanet.gr.jp/


PHP-users メーリングリストの案内