[PHP-users 4937] 配列のポインターについて

Keiko Nakagawa php-users@php.gr.jp
Thu, 24 Jan 2002 14:18:59 +0900


中川と申します。
personal.datという名前と番号が書かれたデータの文字列を配列に格納し、
処理を行なうプログラムを作っているのですが、配列のポインターを
1つ前に戻して処理を行なうときにprev()関数を使っているのですが
どうもうまくいきません。ちなみにPHP3を使っています。

ちなみにpersonal.datの中身は
suzuki i789977
yamada 24o356
     :
というような感じです。

処理プログラムは 
?
$dat=fopen("personal.dat","r");

if(!($dat))
{
 print("エラー:");
 print("ファイルを読み込めませんでした\n");
 exit;
}
   $contents=fread($dat,filesize("personal.dat"));
   $tok=preg_split("/\s[\s]*/",$contents);   // 0個以上のスペース、改行がある場合、文字列を配列に格納
   list($key)=each($tok);
   if(($key%2)!=$number){   // 奇数の配列の文字列が$numberと一致しない場合
      include("nonumber.php3"); // nonumber.php3というプログラムを実行
   }elseif(($key%2)==$number){
     $key=prev($key); // 配列のポインターを1つ前に戻す
  }
     if(($key)!=$name){  //1つ前に戻されたポインターの文字列が$nameと一致しない場合
          include("noname.php3");
         }elseif(($key)==$name){
                 include("succeed.php3");

       }
       }
   fclose($dat);
?>