我想這一點:PHP: - 注意:未定義指數:輸入C: XXX XXX xxx.php上線32
if(! isset($_SESSION['type']) and !$_SESSION['type'] == "0")
{
echo "something";
}
我會得到了認沽:
注意:未定義的索引:輸入x:\ xxx \ xxx \ xxx.php在線32
我該如何解決這個問題?
我想這一點:PHP: - 注意:未定義指數:輸入C: XXX XXX xxx.php上線32
if(! isset($_SESSION['type']) and !$_SESSION['type'] == "0")
{
echo "something";
}
我會得到了認沽:
注意:未定義的索引:輸入x:\ xxx \ xxx \ xxx.php在線32
我該如何解決這個問題?
你的第一個聲明是說它沒有設置....刪除第一個不是(!)。
試試這個:
if( isset($_SESSION['type']) && ($_SESSION['type'] !== "0")) {
echo "something";
}
如何使用!== –
@RonniSkansing ......這也行得通,我正試圖給他一些他原來更熟悉的東西。 – w3bMak3r
請注意==和===的區別http://codepad.org/ijbTEImt –
PHP將發出警告(通知)如果你試圖從一個不存在的數組密鑰來讀取。 isset()
不會發出警告。
但是,如果未設置'type',則代碼保證會這樣做,因爲如果未設置類型鍵,則if
的後半部分將運行。
目前尚不清楚你正在努力完成什麼。也許你的意思是這樣:
if (!isset($_SESSION['type']) || $_SESSION['type'] == '0')
{
echo "something";
}
但最好你會做這樣的事情:
if (!isset($_SESSION['type']))
{
$_SESSION['type'] = '0'; // set default value
}
現在的代碼的其餘部分可以假設它的存在。
+1尼斯的答案,但=='0'真的很奇怪。 –
(isset($_SESSION['type']) == false || $_SESSION['type'] != "0") ? 'something' : '';
我想這個答案是一個好辦法:
if( isset($_SESSION['type']) && (!$_SESSION['type'] == "0")) {
echo "something";
}
是,如果會話變量類型設置,說不等於零,則呼應。這是你想要的?
-1 =='0'不檢查它是否爲「0」/ try null,0.並且幾乎是已有答案的一個cp –
cp是什麼意思?這是我第一次使用這個網站。 – user2502479
對不起,我的意思是它是一個複製和粘貼 –
您必須使用'||'而不是'和' – Joren
這意味着「或」。而且,php支持這兩種表示法:'&&'和'和','||'和'or'。 – geomagas
你可能想要:'if(!isset($ _ SESSION ['type'])&& $ _SESSION ['type']!==「0」)' –