0
當我使用這個代碼就告訴我正確的結果當我在條件中使用true時,strpos函數無法正常工作?
<?php
$string = 'there is some text';
$find = 'some';
function iscontain($string,$find){
$check = strpos($string, $find);
if ($check === false) { return 0; }else{ return 1; }
}
if(iscontain($string,$find)){
echo "true";
}else{
echo "false";
}
//output: true
?>
但是,當我改變假成真,改變返回值一樣,如果檢查是true,所以返回1,否則爲0,從而在邏輯上是正確的,但結果不顯示正確
<?php
$string = 'there is some text';
$find = 'some';
function iscontain($string,$find){
$check = strpos($string, $find);
if ($check === true) { return 1; }else{ return 0; }
}
if(iscontain($string,$find)){
echo "true";
}else{
echo "false";
}
//output : false
?>
爲什麼兩個結果都不一樣..?謝謝。
請閱讀[strpos()']的文檔(http://php.net/manual/en/function.strpos.php)。如果找到它,則返回字符串的_position_;如果未找到,則返回「false」。它實際返回「true」時沒有狀態。 –
[簡單的PHP strpos函數不工作,爲什麼?]可能的重複(https://stackoverflow.com/questions/4858927/simple-php-strpos-function-not-working-why) – mickmackusa