ループ文の処理についてお伺いしたいのですが
$arraydata= array(4){ [0]=>array(2){ ['id']01 ['no']0100 } [1]=>array(2){ ['id']02 ['no']0200 } [2]=>array(2){ ['id']03 ['no']0300 } [3]=>array(2){ ['id']00 ['no']0000 } というデータがあり $fp= fopen(ファイル名."a"); foreach($arraydata as $data){ $id = $data['id']; switch(substr($data['no']),0,2)){ case "01": $result = "4123" break case "02": $result = "3123" break case "03": $result = "2123" break } $wret=fwrite($fp,"{$id}"."{$result}"."\n); }
という処理に
$data['no']が00の場合はスキップして
$idを空にして
次のforeachのループに戻る処理を実行する
という処理を追加する場合
foreach($arraydata as $data){ $id = $data['id']; switch(substr($data),0,2)){ case "01": $result = "4123" break case "02": $result = "3123" break case "03": $result = "2123" break //追加 case "00": $id = ""; break } }
今回の場合はbreakで処理を終了させforeachの処理に戻してあげれいいのでしょうか?
それとも
$idの処理が実行される前に
先に$data['no']が先頭が00になる場合にスキップするコードを記載して
$idに値が入らないようにするほうがスマートでしょうか?
$idは代入されるだけで、$idの値が利用される箇所が見当たりません。$idを使うようなコードを示して下さい。 使わないのなら、何もしないのがスマートだと思います。
回答2件
あなたの回答
tips
プレビュー