Функция strpos
Функция strpos биринчи кирилишдаги қисм қаторнинг ўрнини
бошқа қаторда қайтаради ёки false, агар қисм қатор топилмаса.
Биринчи параметр сифатида функция изланадиган қаторни қабул қилади,
иккинчи параметр сифатида - излаш керак бўлган қисм қаторни.
Стандарт бўйича функция бошланғоч қатордан биринчи мослашувгача излайди. Излаш бошланғоч нуқтасини учинчи ихтиёрий параметр орқали бошқариш мумкин - агар у кўрсатилган бўлса, излаш бошланғоч қатордан эмас, балки кўрсатилган ўриндан бошланади.
Шунингдек stripos функцияси мавжуд бўлиб, у
ҳам худди шуни қилади, лекин регистрни ҳисобга олмайди.
Синтаксис
strpos(string $haystack, string $needle, int $offset = 0): int|false
Мисол
Бу мисолда функция биринчи
'с' белгисининг ўрнини қайтаради.
У 2 ўринни эгаллайди,
чунки ҳисоб 0 дан бошланади:
<?php
echo strpos('abcde abcde', 'c');
?>
Кодни ишга тушириш натижаси:
2
Мисол
Бу мисолда учинчи параметр берилган ва
шунинг учун излаш учинчи ўриндан бошланади,
бу ҳолда функция аллақачон иккинчи белгини
'c' топади ва унинг ўрнини - 8 ни кўрсатади:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Кодни ишга тушириш натижаси:
8
Мисол
Агар қисм қатор топилмаса - функция
false қайтаради. Агар қатор бошланғочда
турса, функция 0 қайтаради.
Бу қисқа шарт шакли орқали солиштиришда
муаммоли бўлиши мумкин:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Кодни ишга тушириш натижаси (биз кутгандек эмас):
'---'
Мисол
Бошланғоч қаторни тўғри текширамиз:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Кодни ишга тушириш натижаси:
'+++'
Шунингдек қаранг
-
strrposфункцияси,
қисм қаторнинг охирги кирилиш ўрнини қайтаради -
str_containsфункцияси,
қаторга белгининг киришини текширади -
str_starts_withфункцияси,
қаторнинг бошланишини текширади -
str_ends_withфункцияси,
қаторнинг тугашини текширади -
array_searchфункцияси,
массив бўйлаб излайди