3

条件付きインクルードがありますが、問題が発生しています。

たとえば、これは機能します

<?php if($t==3)
echo 'Foo';
    else
echo 'Foo something else';
    ?>

そしてこれ:動作しません

<?php if($t==3)
echo 'Foo';
include ('/home/path/public_html/includes/foo_one.php');
echo 'Example: one';
    else
echo 'Foo something else';
include ('/home/path/public_html/includes/foo_two.php');
echo 'Example: two';
 ?>

私が間違っていることについて少し光を当ててもらえますか?

または、インクルード内にエコーを含めて、エコーインクルードを実行する必要があります...

4

4 に答える 4

12

{}内のブロックif/elseが複数行の場合に使用する必要があります。

<?php
if($t==3){
    echo 'Foo';
    include ('/home/path/public_html/includes/foo_one.php');
    echo 'Example: one';
}
else{
    echo 'Foo something else';
    include ('/home/path/public_html/includes/foo_two.php');
    echo 'Example: two';
}
?>

とにかく使うべき{}です。読みやすくなり、このような間違いを防ぐことができます。

于 2012-05-02T21:08:38.487 に答える
3

if else 内の複数の行をグループ化するために使用される { } がありません。

<?php

if ($t==3) {

  // run all of this is $t equals 3
  echo 'Foo';
  include ('/home/path/public_html/includes/foo_one.php');
  echo 'Example: one';

} else {

  // otherwise, run this
  echo 'Foo something else';
  include ('/home/path/public_html/includes/foo_two.php');
  echo 'Example: two';

}

// runs every time
echo "test me, I always run";

?>
于 2012-05-02T21:10:39.873 に答える
1
<?php
if($t==3)
{
  echo 'Foo';
  include ('/home/path/public_html/includes/foo_one.php');
  echo 'Example: one';
}
else
{
  echo 'Foo something else';
  include ('/home/path/public_html/includes/foo_two.php');
  echo 'Example: two';
}
?>
于 2012-05-02T21:08:52.807 に答える