Kazi strpos
Kazi strpos hurudisha msimamo
wa kukutana kwa kwanza kwa kifungu ndani ya mstari mwingine
au false, ikiwa kifungu hakipatikani.
Kigezo cha kwanza kazi inapokea mstari,
ambao utafutaji unafanyika ndani yake, kigezo cha pili
- kifungu, ambacho kinapaswa kutafutwa.
Kwa chaguo-msingi kazi inatafuta kutoka mwanzo wa mstari hadi sawa la kwanza. Mwanzo wa utafutaji unaweza dhibitiwa na kigezo cha tatu kisicholazimisha - ikiwa kimeshasimwa, basi utafutaji hautaanzia mwanzo wa mstari, bali kutoka mahali palipoelezwa.
Pia kuna kazi stripos, ambayo
hufanya sawa sawa, lakini bila kuzingatia herufi kubwa na ndogo.
Sintaksia
strpos(string $haystack, string $needle, int $offset = 0): int|false
Mfano
Katika mfano huu kazi itarudisha msimamo wa herufi ya kwanza
'c'. Inachukua nafasi 2,
kwa kuwa hesabu inaanzia na 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Matokeo ya kutekeleza kodi:
2
Mfano
Katika mfano huu kigezo cha tatu kimeshasimwa na
kwa hivyo utafutaji utaanzia kutoka nafasi ya tatu,
katika kesi hii kazi itapata tayari herufi ya pili
'c' na itatoa nafasi yake - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Matokeo ya kutekeleza kodi:
8
Mfano
Ikiwa kifungu hakitapatikana - basi kazi
itarudisha false. Ikiwa mstari uko
mwanzoni, basi kazi itarudisha 0.
Hii inaweza kuwa shida wakati wa kulinganisha
kupitia fomu fupi ya masharti:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Matokeo ya kutekeleza kodi (sio kama tulivyotarajia):
'---'
Mfano
Tutafanye ukaguzi sahihi wa mwanzo wa mstari:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Matokeo ya kutekeleza kodi:
'+++'
Angalia pia
-
kazi
strrpos,
ambayo hurudisha msimamo wa kukutana kwa mwisho kwa kifungu -
kazi
str_contains,
ambayo inakagua kukutana kwa herufi ndani ya mstari -
kazi
str_starts_with,
ambayo inakagua mwanzo wa mstari -
kazi
str_ends_with,
ambayo inakagua mwisho wa mstari -
kazi
array_search,
ambayo inafanya utafutaji kwenye safu