100
<?php
$a = '';

if($a exist 'some text')
    echo 'text';
?>

上記のコードがあるとすると、「if($ a present'some text')」というステートメントを書く方法は?

4

8 に答える 8

198

strpos関数を使用します:http: //php.net/manual/en/function.strpos.php

$haystack = "foo bar baz";
$needle   = "bar";

if( strpos( $haystack, $needle ) !== false) {
    echo "\"bar\" exists in the haystack variable";
}

あなたの場合:

if( strpos( $a, 'some text' ) !== false ) echo 'text';

(または単に!==の代わりに)演算子を使用するのは、PHPの戻り値の処理の「真実」/「偽」の性質によるものであることに注意してください。!= false== trueif( strpos( ... ) ) {strpos

PHP 8.0.0以降、 str_containsを使用できるようになりました

<?php
    if (str_contains('abc', '')) {
        echo "Checking the existence of the empty string will always 
        return true";
    }
于 2013-03-08T23:50:34.850 に答える
18

空の文字列は偽であるため、次のように書くことができます。

if ($a) {
    echo 'text';
}

特定のサブストリングがそのストリングに存在するかどうかを尋ねている場合でも、それstrpos()を行うために使用できます。

if (strpos($a, 'some text') !== false) {
    echo 'text';
}
于 2013-03-08T23:49:29.647 に答える
7

http://php.net/manual/en/function.strpos.php 文字列に「テキスト」が含まれているとしたら、あなたは不思議に思うでしょう。

if(strpos( $a , 'some text' ) !== false)
于 2013-03-08T23:50:03.213 に答える
3

文字列に単語が存在するかどうかを知る必要がある場合は、これを使用できます。変数が文字列であるかどうかを知りたいだけなのかどうかは、質問からは明らかではありません。ここで、「word」は文字列で検索している単語です。

if (strpos($a,'word') !== false) {
echo 'true';
}

または、is_stringメソッドを使用します。これは、指定された変数に対してtrueまたはfalseを返します。

<?php
$a = '';
is_string($a);
?>
于 2013-03-08T23:54:09.453 に答える
2

またはを使用して、文字列に特定の針が含まれているかどうstrpos()かを確認できます。stripos()見つかった位置を返します。それ以外の場合はFALSEを返します。

PHPの0とFALSEを区別するには、演算子===または `!==を使用します。

于 2013-03-08T23:52:04.870 に答える
1

== 比較演算子を使用して、変数がテキストと等しいかどうかを確認できます。

if( $a == 'some text') {
    ...

関数を使用strposして、文字列の最初の出現を返すこともできます。

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Note our use of ===.  Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
    echo "The string '$findme' was not found in the string '$mystring'";
} else {
    echo "The string '$findme' was found in the string '$mystring'";
    echo " and exists at position $pos";
}

ドキュメントを参照してください

于 2013-03-08T23:50:03.510 に答える
0

このコードを使用できます

$a = '';

if(!empty($a))
  echo 'text';
于 2013-03-08T23:52:52.077 に答える
-1

$ aが空でない文字列であるかどうかを確認することを意味しますか?テキストが含まれるようにするには?その後、以下が機能します。

$ aに文字列が含まれている場合は、次を使用できます。

if (!empty($a)) {      // Means: if not empty
    ...
}

$ aが実際に文字列であることも確認する必要がある場合は、次を使用します。

if (is_string($a) && !empty($a)) {      // Means: if $a is a string and not empty
    ...
}
于 2013-03-08T23:55:24.843 に答える