Php 变量存在,但if语句否认其存在

Php 变量存在,但if语句否认其存在,php,if-statement,joomla1.5,virtuemart,Php,If Statement,Joomla1.5,Virtuemart,我在voces\u allvoces.tpl.php中有一个语句if(isset($voces)) 如果我在该语句之前检查同一行上的值,它会告诉我该值为2,但由于某种原因,If语句拒绝承认这一点 如果($voces>0)不起作用,也尝试了。我在两个页面上使用它,在另一个页面上它工作得很好,尽管这个页面上没有任何与此冲突的内容(删除了页面上的所有内容,但仍然不工作) 使用Joomla 1.5.21和Virtuemart 1.1.6 代码如下: <div class="rating" styl

我在voces\u allvoces.tpl.php中有一个语句
if(isset($voces))

如果我在该语句之前检查同一行上的值,它会告诉我该值为2,但由于某种原因,If语句拒绝承认这一点

如果($voces>0)不起作用,也尝试了。我在两个页面上使用它,在另一个页面上它工作得很好,尽管这个页面上没有任何与此冲突的内容(删除了页面上的所有内容,但仍然不工作)

使用Joomla 1.5.21和Virtuemart 1.1.6

代码如下:

<div class="rating" style="margin: 0px 0px 15px -9px">  
<?php
    $product_flypage = $_SERVER['REQUEST_URI'];
    echo ps_reviews::allvotes( $product_flypage );
?>
vows\u allvows.tpl.php(实际问题是):

if(isset($voces)){?>
image/stars/.gif“align=“middle”border=“0”alt=“stars”/

isset可能没有返回您期望的内容

$votes = 0;

if(isset($votes)){

    echo 'Ooer missus ...';

}
我不确定,但也许你想

if((int)$votes > 0){

    echo 'well you got at least one vote ...';

}
无论如何,如果一个条件没有像你期望的那样,那么

var_dump()

将该变量添加到页面或日志文件中,并对其进行检查


更好的是,在编写条件测试之前检查它。

您能否澄清您的问题出在哪里,因为我发现有点难以理解您的问题的要点$tpl->fetch实际上做了什么?我认为,您需要阅读
变量范围
以及,如果(且仅当)
global
construct对它没有帮助。你的问题/代码组合的唯一意义是,如果你检查一个局部变量($vots)超出它的作用域(全局)。它在voces\u allvoces中的if语句中。$tpl->fetches-fetches-voces\u allvoces.tpl.phpOkay,如果我使用die(var\u dump($voces))该值是字符串2,如果我只使用var_dump($vots),则该值为NULL,我不知道发生了什么xD
$votes = 0;

if(isset($votes)){

    echo 'Ooer missus ...';

}
if((int)$votes > 0){

    echo 'well you got at least one vote ...';

}