2017-07-06 69 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'; 
} 
相关问题