• 締切済み

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'); } }

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

>> $a = "\$item[2] == \"1\" || \$item[2] == \"4\""; 上記1行を下記に変えればすっきりしそうです $a = ($item[2] == "1" || $item[2] == "4");

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

文字列を実行したいということ? たとえばこんな風にできますが・・・ 文字列で条件を書くのはあまりよいやり方とは思いませんが・・・ <? $item[2]=1; //$item[2]=2; $a = "\$item[2] == \"1\" || \$item[2] == \"4\""; if( eval("return $a;")){ print "match!"; } ?>

hanamasa59
質問者

お礼

>文字列で条件を書くのはあまりよいやり方とは思いません そうなんですね。他のやり方で処理してみます。 ありがとうございました。

  • se-nabe
  • ベストアンサー率34% (31/91)
回答No.1

$a をわざわざ外に出しているのは何か意味があるんでしょうか? if($item[2] == "1" || $item[2] == "4"){ include('list.php'); } これで通りませんか?

hanamasa59
質問者

お礼

$aが条件によって色々変わるので外に出していました。 あまり処理的に美しくなさそうなので他の方法を考えます。 ありがとうございました。

関連するQ&A