2017-07-06 20 views
-1

でないかどうかをチェックします。文字列が空であるか、最初の文字が何かと等しくない場合はどうすればチェックできますか? 私は空の文字列$key = ''にこれを行う場合は、次のphp - 文字列が空でないか、または最初の文字が

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

私が手:オフセット

初期化されていない文字列:0

+0

が変数 – GYaN

+0

の値を表示するようにしてください空の文字列ですが、これも質問に追加します – Leff

+0

AND条件をANDで使うのはなぜですか? –

答えて

2

isset場合は[0]

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

これは異常ですが、これはうまくいくと思っていましたが、ブロック内の$ keyの値を調べると空の配列が得られました。答えはさらに – 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

いいえ、文字列が空であればブロックを入力したくないので、 '' '!($ key)' ''にする必要があります。 – Leff

+0

@leff "文字列が空であるか、 so empty($ key)//文字列が空です || // substr($ key、0、1)!== $ something // $ somethingと等しくない最初の文字 – williamli

0

私はそれが書いたように、この

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