- 締切済み
PHPでの文字列の扱い
以下のPHPを書きましたが if文の$aに期待する値が入りません。この場合はどのようにすればよいのでしょうか? $a = "\$item[2] == \"1\" || \$item[2] == \"4\""; $Data = file("data.csv"); for($i = 0; $i < sizeof($Data); $i++){ $item = explode(",", $Data[$i]); if($a){ include('list.php'); } }
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
>> $a = "\$item[2] == \"1\" || \$item[2] == \"4\""; 上記1行を下記に変えればすっきりしそうです $a = ($item[2] == "1" || $item[2] == "4");
- yambejp
- ベストアンサー率51% (3827/7415)
文字列を実行したいということ? たとえばこんな風にできますが・・・ 文字列で条件を書くのはあまりよいやり方とは思いませんが・・・ <? $item[2]=1; //$item[2]=2; $a = "\$item[2] == \"1\" || \$item[2] == \"4\""; if( eval("return $a;")){ print "match!"; } ?>
- se-nabe
- ベストアンサー率34% (31/91)
$a をわざわざ外に出しているのは何か意味があるんでしょうか? if($item[2] == "1" || $item[2] == "4"){ include('list.php'); } これで通りませんか?
お礼
$aが条件によって色々変わるので外に出していました。 あまり処理的に美しくなさそうなので他の方法を考えます。 ありがとうございました。
お礼
>文字列で条件を書くのはあまりよいやり方とは思いません そうなんですね。他のやり方で処理してみます。 ありがとうございました。