PHP“;如果;问题

PHP“;如果;问题,php,facebook,string,curl,Php,Facebook,String,Curl,我有一些PHP,将抓住喜欢和分享我的页面计数。(当然,url只是一个例子。) 然后,如果我得到的数字是0,我想在我的页面中使用一个通用的facebook图标。否则,我会得到号码。基本上,如果人们不喜欢一个页面,我不想要一个大的胖零 <div class="burst-fb"><span><?php if ($fbcount < 1) {echo 'logo stuff';} else {echo $fbcount;}?></span><

我有一些PHP,将抓住喜欢和分享我的页面计数。(当然,url只是一个例子。)

然后,如果我得到的数字是0,我想在我的页面中使用一个通用的facebook图标。否则,我会得到号码。基本上,如果人们不喜欢一个页面,我不想要一个大的胖零

<div class="burst-fb"><span><?php if ($fbcount < 1) {echo 'logo stuff';} else {echo $fbcount;}?></span></div>

问题是,它不起作用了。我知道我在这里忽略了一些基本的东西

来自PHP手册:

Returns TRUE on success or FALSE on failure. 
However, if the CURLOPT_RETURNTRANSFER  option is set, 
it will return the result on success, FALSE  on failure.
因此,使用===和!==检查FALSE运算符,如果您对零感兴趣,还可以检查零,而不是1


您还可以使用var_dump查看$fbcount真正包含的内容。

尝试查看
$fbcount
的内容以查看它包含的内容。如果它不是一个数字,那么您的条件语句将不起作用

var_dump($fbcount);

curl\u close($ch)之后立即尝试此操作它可能包含错误,可用于调试curl操作

来自facebook api的响应(因此是$fbcount)是一个XML字符串,而不是一个数字。您需要解析响应。对不起;)。看看simpleXML。 编辑: 将url()复制并粘贴到浏览器中,以查看您将得到什么。 浏览器中应显示以下内容:

<fql_query_response list="true">
   <link_stat>
      <total_count>213</total_count>
   </link_stat>
</fql_query_response>

213

是否回显了
$fbcount
变量以查看其返回值?哪个是错误?你为php安装了curl模块了吗?答对了。这就成功了。我没有看来源,只是看到我得到了一个数字。所以<代码>$xml=simplexml\u加载\u字符串($data)$fbcount=$xml->link\u stat[0]->总计数;打印$fbcount
<fql_query_response list="true">
   <link_stat>
      <total_count>213</total_count>
   </link_stat>
</fql_query_response>