检查返回false的数组值?

时间:2014-04-16 11:06:16

标签: php arrays facebook

我需要检查来自2个不同数组的2个值是否相同。 我目前从mysql获得一个值,另一个从facebook api获得。

$UserHomeTown[1]是用户位置,$city_Value[1]是朋友位置,但是当我尝试检查这些位置之间的值时,我总是会误。

通过回显到屏幕测试语句,这就是我得到的

 if (Lancashire === United Kingdom) False 
 if (Lancashire === Lancashire) False

我试过了!=,!==,===,==仍然我得到的都是假的,

以下是我从Facebook获取信息的代码

$userFriend_profile = $facebook->api('/me/friends?fields=name,location');

$total = count($userFriend_profile['data']);
for ($i = 0; $i < $total;)
{
    if(isset($userFriend_profile['data'][$i]['location']['name']))
    {
        $city_Value = explode(',',trim($userFriend_profile['data'][$i]['location']['name']));
        if ($city_Value[0] != $UserHomeTown[0]) { // This on works
        if (isset($city_Value[1])) {
            echo "if ($UserHomeTown[1] === $city_Value[1])";
            if ($UserHomeTown[1] === $city_Value[1]){
                echo "<br> True<br><br>";
            } else {
                echo "<br> False<br><br>";
            }
        }
    }
}
    $i = $i + 1;
}

2 个答案:

答案 0 :(得分:0)

虽然我在代码中没有看到任何错误,但请尝试

if ($UserHomeTown[1] == $city_Value[1])代替if ($UserHomeTown[1] === $city_Value[1])

答案 1 :(得分:0)

数组$city_Value[1]正在实际值前面传递一个空格,该空格未在输出中显示但返回false

if语句看到"Lancashire" == " Lancashire"