strpos с отрицательным смещением

98
28 февраля 2022, 22:40

согласно документации код верный, почему не находит позицию?

var_dump(strpos('hello word!', 'o', -2));//false

проверил на php 7.1, 7.3

Answer 1

Потому что ни 'd', ни '!' не являются 'o'.

Answer 2

-2 в вашем примере это сдвиг с конца строки на то место, от куда начнётся поиск. Вы сдвинули указатель на d. Надо учитывать тот момент, что сдвиг с конца строки происходит от индекса 1 а не 0, как это происходит при поиске от начала строки. И вернёт, в случае нахождения, позицию искомого, начиная с начала строки и с индекса 0.

strpos('hello word!', 'o', -2); // указатель стал на d и пошёл слева направо 
READ ALSO
Laravel связь один ко многим

Laravel связь один ко многим

У меня есть связь один ко многим

89
проверить, есть ли параметр "?" в url php

проверить, есть ли параметр "?" в url php

Как проверить есть ли "?" в url, не зная конкретного параметра

111
Почему Composer устанавливает старую версию Laravel?

Почему Composer устанавливает старую версию Laravel?

Пытаюсь установить Laravel при помощи Composer, но устанавливается версия Laravel 58, хотя уже давно есть версии 6

115
Как использовать php-переменные в css-файлах?

Как использовать php-переменные в css-файлах?

У меня есть файл stylecss и php-страничка

73