文字列に特定のテキストが含まれているかどうか、または strstr() を使用していないかどうかを調べようとしています
$t = "http://site.com/image/d2737cda28cb420c972f7a0ce856cf22";
var_dump(strstr('/image/', $t));
exit;
しかし、これは を与えfalse
ます。なぜそれはfasleを与えているのですか? 修正方法は?
パラメータが反転しています( を参照strstr
)。これは正しい使用方法です。
strstr($t, '/image/');
strposを使用する必要があります、より速く、より少ないリソースで、マニュアルから vars を使用してください
<?php
$t = "http://site.com/image/d2737cda28cb420c972f7a0ce856cf22";
$findme = '/image/';
$pos = strpos($t, $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";
}
?>
代わりにこのようにしてください
<?php
$t = "http://site.com/image/d2737cda28cb420c972f7a0ce856cf22";
var_dump(strstr($t, '/image/'));
exit;
?>
関数のドキュメントを見ることができます。
構文を検証します。
php/documentation/function.strstr.php
正しい使い方は: var_dump(strstr($t, '/image/'));