我正在嘗試製作一個簡單的PHP程序。我試圖從URL中獲取值並檢查開發是否等於true。我使用此代碼:
if($_GET['dev']==true){...}else if($_GET['dev']==false){...}
我正在嘗試製作一個簡單的PHP程序。我試圖從URL中獲取值並檢查開發是否等於true。我使用此代碼:
if($_GET['dev']==true){...}else if($_GET['dev']==false){...}
$_GET
變量都是字符串,你需要將其轉換爲布爾
if (isset($_GET['dev']))
{
$dev= (bool) $_GET['dev'];
if($dev){
}
}
這並沒有多大幫助。這與OP的「== true」完全一樣。 php會使用'(bool)'類型轉換將使用的完全相同的規則將$ _GET ['dev']轉換爲'=='測試的bool。 –
個人Meda,我會檢查更多,如果'空()'而不是'isset()'。 'isset()'可能會失敗。或者'isset()'和'!empty()'。 –
@ Fred-ii-是的確他們非常相似,我認爲'isset'沒有捕獲空字符串,Idk爲什麼我總是使用它,而不是空的 – meda
細節是不夠的,告訴我們更多關於您的問題。
也許你需要開發比作一個字符串,而不是布爾:
if($_GET['dev']=="true"){...}else if($_GET['dev']=="false"){...}
''true「' - '」false「'在這裏被視爲字符串,並將在布爾常量上失敗 - 我懷疑這是OP想要在這裏做什麼。 –
我認爲他正在查看dev的值是「true」還是「false」,因爲字符串, –
這不是我的downvote順便說一句。我們要求澄清評論,但他們沒有迴應,並期待一個神奇的答案。 –
不夠代碼/信息,以支持的問題。 –
那究竟是什麼問題呢? –
需要更多關於您問題的信息,猜測您的網址格式是否正確?即'example.com?dev = true' – Mikey