PHP.mk документација

strripos

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.strripos.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.strripos.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
strripos

Референца за `function.strripos.php` со подобрена типографија и навигација.

function.strripos.php

strripos

класата mysqli_driver

strriposНајди ја позицијата на последното појавување на подниза без разлика на големината на буквите во низа

= NULL

strripos(string $haystack, string $needle, int $offset = 0): int|false

Најди ја нумеричката позиција на последното појавување на needle во haystack string.

За разлика од strrpos(), strripos() не е чувствително на големината на буквите.

Параметри

haystack

Најди ја нумеричката позиција на првото појавување на

needle

Низата за пребарување.

Пред PHP 8.0.0, ако needle не е низа, се претвора во цел број и се применува како редниот број на карактер. Ова однесување е застарено од PHP 7.3.0 и силно се обесхрабрува да се потпирате на него. Во зависност од наменетото однесување, needle треба експлицитно да се префрли на низа, или експлицитно повикување на chr() треба да се изврши.

offset

Ако е нула или позитивно, пребарувањето се врши од лево кон десно, прескокнувајќи ги првите offset бајти од haystack.

Најди ја позицијата на последното појавување на подниза без разлика на големината на буквите во низа offset бајти од haystack Ако е негативно, пребарувањето се врши од десно кон лево, прескокнувајќи го последниот needle.

Забелешка:

Ефективно барање на последното појавување на needle и барајќи го првото појавување на offset bytes.

Вратени вредности

пред последниот needle Враќа позиција каде што haystack постои во однос на почетокот на offset).

Забелешка: Позициите на низите започнуваат од 0, а не од 1.

Патеката до PHP скриптата што треба да се провери. false ако needle низа (независно од насоката на пребарување или

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Функцијата враќа прочитани податоци или falseОваа функција може да врати Буловска вредност false, но исто така може да врати и вредност што не е Буловска, а која се проценува како Булови . Ве молиме прочитајте го делот за за повеќе информации. Користете го операторот ===

Errors/Exceptions

  • Враќа offset ако иглата не е пронајдена. haystack, а ValueError ќе биде фрлена.

Дневник на промени

Верзија = NULL
8.2.0 Враќа стринг или низа од замени. setlocale()Преклопувањето на случајот повеќе не зависи од локалот поставен со ". Само ќе се изврши преклопување на случајот ASCII. Не-ASCII бајтовите ќе се споредуваат според нивната бајт вредност.
8.0.0 needle сега прифаќа празна низа.
8.0.0 Поминување на int as needle веќе не се поддржува.
7.3.0 Поминување на int as needle е укинат.

Примери

Пример #1 Едноставен strripos() example

<?php

$haystack
= 'ababcd';
$needle = 'aB';

$pos = strripos($haystack, $needle);

if (
$pos === false) {
echo
"Sorry, we did not find `$needle` in `$haystack`";
} else {
echo
"Congratulations!\n";
echo
"We found the last `$needle` in `$haystack` at position `$pos`";
}

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Congratulations!
We found the last `aB` in `ababcd` at position `2`

Види Исто така

  • strpos() - Најди ја позицијата на првото појавување на подниза во низа
  • stripos() Пример #3 Користење на поместување
  • strrpos() - Проверува дали низата започнува со дадена подниза
  • strrchr() Ги наоѓа последните појави на еден знак во низа во друга
  • stristr() - strstr што не прави разлика помеѓу големи и мали букви
  • substr() - Врати дел од низа

Белешки од корисници 6 белешки

не беше пронајдено.
пред 18 години
Simple way to implement this function in PHP 4

<?php
if (function_exists('strripos') == false) {
    function strripos($haystack, $needle) {
        return strlen($haystack) - strpos(strrev($haystack), $needle);
    }
}

?>
Јаник Лупиен
пред 17 години
Suppose you just need a stripos function working backwards expecting that strripos does this job, you better use the following code of a custom function named strbipos:

<?php
function strbipos($haystack="", $needle="", $offset=0) {
// Search backwards in $haystack for $needle starting from $offset and return the position found or false

    $len = strlen($haystack);
    $pos = stripos(strrev($haystack), strrev($needle), $len - $offset - 1);
    return ( ($pos === false) ? false : $len - strlen($needle) - $pos );
}

// Test
$body = "01234Xy7890XYz456xy90";
$str = "xY";
$len = strlen($body);
echo "TEST POSITIVE offset VALUES IN strbipos<br>";
for ($i = 0; $i < $len; $i++) {
    echo "Search in [$body] for [$str] starting from offset [$i]: [" . strbipos($body, $str, $i) . "]<br>";
}
?>

Note that this function does exactly what it says and its results are different comparing to PHP 5 strripos function.
dimmav at in dot gr
пред 18 години
I think you shouldn't underestimate the length of $needle in the search of THE FIRST POSITION of it's last occurrence in the string. I improved the posted function, with added support for offset. I think this is an exact copy of the real function:

<?php
if(!function_exists("strripos")){
    function strripos($haystack, $needle, $offset=0) {
        if($offset<0){
            $temp_cut = strrev(  substr( $haystack, 0, abs($offset) )  );
        }
        else{
            $temp_cut = strrev(  substr( $haystack, $offset )  );
        }
        $pos = strlen($haystack) - (strpos($temp_cut, strrev($needle)) + $offset + strlen($needle));
        if ($pos == strlen($haystack)) { $pos = 0; }
        return $pos;
    }/* endfunction strripos*/
}/* endfunction exists strripos*/
?>
dimmav at in dot gr
пред 17 години
OK, I guess this will be the final function implementation for PHP 4.x versions ( my previous posts are invalid )

<?php

if(!function_exists("stripos")){
    function stripos(  $str, $needle, $offset = 0  ){
        return strpos(  strtolower( $str ), strtolower( $needle ), $offset  );
    }/* endfunction stripos */
}/* endfunction exists stripos */

if(!function_exists("strripos")){
    function strripos(  $haystack, $needle, $offset = 0  ) {
        if(  !is_string( $needle )  )$needle = chr(  intval( $needle )  );
        if(  $offset < 0  ){
            $temp_cut = strrev(  substr( $haystack, 0, abs($offset) )  );
        }
        else{
            $temp_cut = strrev(    substr(   $haystack, 0, max(  ( strlen($haystack) - $offset ), 0  )   )    );
        }
        if(   (  $found = stripos( $temp_cut, strrev($needle) )  ) === FALSE   )return FALSE;
        $pos = (   strlen(  $haystack  ) - (  $found + $offset + strlen( $needle )  )   );
        return $pos;
    }/* endfunction strripos */
}/* endfunction exists strripos */
?>
Анонимен
пред 15 години
Generally speaking, linear searches are from start to end, not end to start - which makes sense from a human perspective. If you need to find strings in a string backwards, reverse your haystack and needle rather than manually chopping it up.
ElectroFox
пред 18 години
Sorry, I made that last post a bit prematurely.  One more thing wrong with the simple php4 version is that it breaks if the string is not found.  It should actually look like this:

<?php
if (function_exists('strripos') == false) {
    function strripos($haystack, $needle) {
        $pos = strlen($haystack) - strpos(strrev($haystack), strrev($needle));
        if ($pos == strlen($haystack)) { $pos = 0; }
        return $pos;
    }
}
?>

Note, we now check to see if the $needle was found, and if it isn't, we return 0.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.