2017-07-06 68 views
-1

我如何在PHP檢查字符串爲空或有第一個字符不等於什麼。 如果我這樣做是爲了一個空字符串$key = ''腓 - 檢查字符串不爲空或有第一個字符不等於

if ($key != '' || $key[0] != '_') 

我得到:

未初始化字符串偏移量:0

+0

顯示變量 – GYaN

+0

的價值就像我寫的是一個空字符串,但我會將此添加到問題中 – Leff

+0

爲什麼不使用AND in if條件...? –

回答

2

isset不具有偏移[0]

if ($key != '' || (isset($key[0]) && $key[0] != '_')) { 
    echo "First Character not equal with _"; 
} 
+0

這是奇怪,我以爲這會工作,但在檢查塊我得到一個空數組內$鍵值,我將進一步擴大與你的答案 – Leff

+0

我的問題使用''&&代替''||我 –

+0

也嘗試,但我仍然得到同樣的東西,我擴大了我的問題 – Leff

-2
<?php 
    //$key = ""; 
    $something = "h"; 

    if (!isset($key) || substr($key, 0, 1) !== $something || empty($key)) { 
     echo('undefined/empty string or string starts with: '.$something);; 
    } else { 
     echo('b'); 
    } 

$something是您要使用比較字符

Exa mple:如果$關鍵是未定義或"" enter image description here

+0

@Leff這是行不通的嗎? – williamli

+0

不,它應該是'''!空($鍵)'''因爲我不希望進入的代碼塊,如果字符串爲空 – Leff

+0

@leff但你說「字符串爲空或有第一個字符不等於什麼」 所以空($鍵)//字符串爲空 || //或 SUBSTR($鍵,0,1)!== $東西//第一個字符不等於$東西 – williamli

0

嘗試這樣

if(trim($key)==''||substr($key, 0, 1)=='_'){ 
    echo ' string is empty or start with _'; 
}else{ 
    echo 'false'; 
} 
相關問題