php bug if if不起作用

时间:2010-12-09 11:54:41

标签: php operators if-statement file-get-contents

<?php   
$myip=file_get_contents("http://www.whatismyip.com/automation/n09230945.asp");
if(!$myip=='1.1.1.1'){

    echo "Not matches";
}
?>

if是不行的? :S

3 个答案:

答案 0 :(得分:5)

执行if if this:

if($myip != '1.1.1.1')
{
    echo "Not matches";
}

read this;

答案 1 :(得分:3)

您需要将if更改为:

if($myip != '1.1.1.1')

if(!($myip == '1.1.1.1') )

!的{​​{3}}高于==

因此,您的条件!$myip=='1.1.1.1'被视为(!$myip)=='1.1.1.1',将$myip视为布尔值,将其否定,然后将其与true进行比较('1.1.1.1'为{{ 1}})。

答案 2 :(得分:2)

问题:你想在这做什么?如果您正在尝试获取用户的IP地址,那么不会,这将无效,因为将从get_file_contents呼叫返回的IP地址将是服务器的IP地址,而不是用户。

但您甚至不需要拨打外部电话来获取用户的IP地址。 PHP已在$_SERVER全局变量中使用它。

print $_SERVER['REMOTE_ADDR'];

这将为您提供用户的IP地址。

希望有所帮助。