2016-01-21 67 views
-1

我正在尝试制作一个简单的PHP程序。我试图从URL中获取值并检查开发是否等于true。我使用此代码:

if($_GET['dev']==true){...}else if($_GET['dev']==false){...} 
+1

不够代码/信息,以支持的问题。 –

+1

那究竟是什么问题呢? –

+1

需要更多关于您问题的信息,猜测您的网址格式是否正确?即'example.com?dev = true' – Mikey

回答

0

$_GET变量都是字符串,你需要将其转换为布尔

if (isset($_GET['dev'])) 
{ 
    $dev= (bool) $_GET['dev']; 
    if($dev){ 

    } 
} 
+0

这并没有多大帮助。这与OP的“== true”完全一样。 php会使用'(bool)'类型转换将使用的完全相同的规则将$ _GET ['dev']转换为'=='测试的bool。 –

+0

个人Meda,我会检查更多,如果'空()'而不是'isset()'。 'isset()'可能会失败。或者'isset()'和'!empty()'。 –

+0

@ Fred-ii-是的确他们非常相似,我认为'isset'没有捕获空字符串,Idk为什么我总是使用它,而不是空的 – meda

-2

细节是不够的,告诉我们更多关于您的问题。

也许你需要开发比作一个字符串,而不是布尔:

if($_GET['dev']=="true"){...}else if($_GET['dev']=="false"){...} 
+1

''true“' - '”false“'在这里被视为字符串,并将在布尔常量上失败 - 我怀疑这是OP想要在这里做什么。 –

+0

我认为他正在查看dev的值是“true”还是“false”,因为字符串, –

+0

这不是我的downvote顺便说一句。我们要求澄清评论,但他们没有回应,并期待一个神奇的答案。 –