不能使用条件构造中通过PHP传递的值

时间:2013-09-19 10:06:18

标签: php

我现在有4个小时的问题,似乎找不到解决问题的方法。我传递一个布尔值($ b1),这是我的脚本中include.php的结果,然后使用一个简单的条件。

条件不起作用,因为我为1和0得到'nok'。尝试使用另一个变量= intval(传递值),但这似乎也不起作用。

<?php    
ob_start();
include ('include.php');    
$b1 = ob_get_contents();
ob_end_clean();
echo $b1;
if($b1==1) echo "ok";
if ($b1==0) echo "nok";
?>

我哪里出错了?

由于

1 个答案:

答案 0 :(得分:0)

除非你没有回应什么,否则没关系。例如,如果您将运行此代码,它将起作用:

<?php    
ob_start();
//include ('include.php');    
echo 1;
$b1 = ob_get_contents();
ob_end_clean();
echo $b1;
if($b1==1) echo "ok";
if ($b1==0) echo "nok";
?>

原因是$ b1仅包含输出缓冲区值。因此,您需要在include.php中或在将ob_get_contents()分配给$ b1之前回显一个值。

您可以从以下链接进一步阅读:http://php.net/manual/en/function.ob-get-contents.php