2016-01-21 51 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順便說一句。我們要求澄清評論,但他們沒有迴應,並期待一個神奇的答案。 –