Вместо:
if($httpposi === true) {
вам нужно:
if($httpposi !== false) {
, так как если она является найдено в строке, он возвращает смещение как целое, и вы делая строгое сравнение и строго отличное от нуля положительное целое число не равно логическому значению true
.
8 == true // true
8 === true // false, because 8 is not a boolean
0 == true // false, but we need to know if the needle is at position 0
так:
0 !== false // true, string was found
8 !== false // true, string was found
false !== false // false, string was not found
Если последовательность находится в начале строки, то falsy 0
будут возвращены, поэтому необходимо строго сравнить false
знать, что это не было вообще.
Привет, Карим, если вещь, которую я искал, была в положении 0, будет ли ваш метод работать? – David19801
@ David19801 - да, я немного обновил объяснение. Попробуем прояснить еще кое-что. – karim79