首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP "if“问题

PHP "if“问题
EN

Stack Overflow用户
提问于 2011-03-30 01:28:15
回答 3查看 214关注 0票数 2

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

代码语言:javascript
复制
$url='http://mashable.com/2011/03/25/internet-music-piracy-study/';
$furl = "https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27".$url."%27&format=xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $furl);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fbcount = curl_exec($ch);
curl_close($ch);

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

代码语言:javascript
复制
<div class="burst-fb"><span><?php if ($fbcount < 1) {echo 'logo stuff';} else {echo $fbcount;}?></span></div>

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-30 01:40:58

来自facebook api的响应(以及$fbcount中的响应)是一个XML字符串,而不是一个数字。您需要解析响应。对不起;)。看看simpleXML吧。编辑:复制url (https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27http://mashable.com/2011/03/25/internet-music-piracy-study/%27&format=xml)并粘贴到你的浏览器中,看看你会得到什么。浏览器中应显示以下内容:

代码语言:javascript
复制
<fql_query_response list="true">
   <link_stat>
      <total_count>213</total_count>
   </link_stat>
</fql_query_response>
票数 0
EN

Stack Overflow用户

发布于 2011-03-30 01:33:36

摘自PHP手册:

代码语言:javascript
复制
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,如果您对0感兴趣,则还要检查0,而不是1。

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

票数 3
EN

Stack Overflow用户

发布于 2011-03-30 01:34:15

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

代码语言:javascript
复制
var_dump($fbcount);

curl_close($ch);之后立即尝试此命令,它可能包含一个错误,您可以使用该错误来调试curl操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5476491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档