2013-03-07 41 views
-2

我最近在我的代码中有一个奇怪的问题。我需要检查if语句中的变量值,但它总是失败,值为(false),在所有工作的值回显后。无法检索PHP变量,直到回声

例如(我不记得确切的代码):

for ($i=0; $i<=$limit; $i++) { 
    if ($object->data[$i]['name']) { 
     echo 'name: '.$object->data[$i]['name']; 
    } 
} 

脚本就永远返回false(没有显示用户名)以下

脚本但是工作(甚至当我评论回声声明)

for ($i=0; $i<=$limit; $i++) { 
    // echo $object->data[$i]['name']; 
    if ($object->data[$i]['name']) { 
     echo 'name: '.$object->data[$i]['name']; 
    } 
} 

有这个发生在任何人吗?是否有一个原因?

好吧...这里是原代码:

<?php if ($data->apartments[$i]['price']['price1']->value) { ?> 
<div class="prices"> 
    <table border="0" width="100%" cellpadding="0" style="border-collapse: collapse"> 
     <tr> 
      <td colspan="2" style="border-bottom: 1px dashed #E36300"> 
       <h3>PRICE LIST</h3> 
      </td> 
     </tr> 
     <tr><td>&nbsp;</td><td>&nbsp;</td></tr> 

    <?php 

    //$data->apartments[$i]['price']['price_date1']->value; 
    //$data->apartments[$i]['price']['price_date2']->value; 
    //$data->apartments[$i]['price']['price_date3']->value; 
    //$data->apartments[$i]['price']['price_date4']->value; 
    //$data->apartments[$i]['price']['price_date5']->value; 
    //$data->apartments[$i]['price']['price_date6']->value; 
    //$data->apartments[$i]['price']['price_date7']->value; 
    //$data->apartments[$i]['price']['price_date8']->value; 
    //$data->apartments[$i]['price']['price_date9']->value; 

    //$data->apartments[$i]['price']['price1']->value; 
    //$data->apartments[$i]['price']['price2']->value; 
    //$data->apartments[$i]['price']['price3']->value; 
    //$data->apartments[$i]['price']['price4']->value; 
    //$data->apartments[$i]['price']['price5']->value; 
    //$data->apartments[$i]['price']['price6']->value; 
    //$data->apartments[$i]['price']['price7']->value; 
    //$data->apartments[$i]['price']['price8']->value; 
    //$data->apartments[$i]['price']['price9']->value; 

    for ($pc=0; $pc<=10; $pc++) { 

     if ($data->apartments[$i]['price']['price_date'.$pc]->value) { 
      echo "<tr>"; 
      echo "<td style='border: 1px solid #E36300' align='left' valign='top' width='50%'>".$data->apartments[$i]['price']['price_date'.$pc]->value."</td>"; 
      echo "<td style='border: 1px solid #E36300' align='right' valign='top' width='50%'>".$data->apartments[$i]['price']['price'.$pc]->value." ".$data->apartments[$i]['price']['price_currency']->value."</td>"; 
      echo "</tr>"; 
     } 
    } 
    ?> 

    </table> 
</div> 
<?php } ?> 
+3

你需要“记住”确切的代码。 – 2013-03-07 13:57:21

+1

如果你不记得确切的代码,我们不能完全帮助你。 – Kyborek 2013-03-07 14:05:36

回答

0

这个问题可能是您试图呼应/输出,因此检查的变种,是一些计算结果为。请注意,有几件事情可以评估为false,即使var是填充/非空的。即,等。

要检查阉一个变种被设置时,使用isset()函数。而不仅仅是如果($ var)..

但是,正如上面的评论所说,这只是一个猜测。您必须向我们提供确切的代码。