indexOf und lastIndexOf in PHP?

Lesezeit: 2 Minuten

Benutzer-Avatar
Gaurav

In Java können wir verwenden indexOf und lastIndexOf. Da diese Funktionen in PHP nicht existieren, was wäre das PHP-Äquivalent zu diesem Java-Code?

if(req_type.equals("RMT"))
    pt_password = message.substring(message.indexOf("-")+1);
else 
    pt_password = message.substring(message.indexOf("-")+1,message.lastIndexOf("-"));

  • php.net/manual/en/function.strstr.php

    – Alu

    14. November 2014 um 5:05 Uhr

  • Sie können IndexOf und LastIndexOf verwenden, indem Sie JavaScript verwenden, da sie darin vorhanden sind.

    – Dotnetter

    14. November 2014 um 5:07 Uhr

  • “Da diese Funktionen in PHP nicht existieren” — hast du sie durchsucht? Als ich das letzte Mal nachgesehen habe, stellte PHP diese Funktionalität noch zur Verfügung. indexOf benannt strpos(), lastIndexOf benannt strrpos().

    – axiak

    18. April 2016 um 10:18 Uhr

Benutzer-Avatar
Alfred Bez

Dazu benötigen Sie in PHP folgende Funktionen:

strpos Finden Sie die Position des ersten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge

strrpos Finden Sie die Position des letzten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge

substr Gibt einen Teil einer Zeichenfolge zurück

Hier ist die Signatur der substr Funktion:

string substr ( string $string , int $start [, int $length ] )

Die Unterschrift des substring Funktion (Java) sieht etwas anders aus:

string substring( int beginIndex, int endIndex )

substring (Java) erwartet den Endindex als letzten Parameter, aber substr (PHP) erwartet eine Länge.

Es ist nicht schwer, die gewünschte Länge durch den Endindex in PHP zu erhalten:

$sub = substr($str, $start, $end - $start);

Hier ist der Arbeitscode

$start = strpos($message, '-') + 1;
if ($req_type === 'RMT') {
    $pt_password = substr($message, $start);
}
else {
    $end = strrpos($message, '-');
    $pt_password = substr($message, $start, $end - $start);
}

In php:

  • Streifen () Die Funktion wird verwendet, um die Position des ersten Vorkommens eines Teilstrings ohne Berücksichtigung der Groß-/Kleinschreibung in einem String zu finden.

  • stripos () Die Funktion wird verwendet, um die Position des letzten Vorkommens eines Teilstrings ohne Berücksichtigung der Groß-/Kleinschreibung in einem String zu finden.

Beispielcode:

$string = 'This is a string';
$substring ='i';
$firstIndex = stripos($string, $substring);
$lastIndex = strripos($string, $substring);

echo 'Fist index = ' . $firstIndex . ' ' . 'Last index = '. $lastIndex;

Ausgabe: Erster Index = 2 Letzter Index = 13

Benutzer-Avatar
sameerNAT

<?php
// sample array
$fruits3 = [
    "iron",
    1,
    "ascorbic",
    "potassium",
    "ascorbic",
    2,
    "2",
    "1",
];

// Let's say we are looking for the item "ascorbic", in the above array

//a PHP function matching indexOf() from JS
echo(array_search("ascorbic", $fruits3, true)); //returns "2"

// a PHP function matching lastIndexOf() from JS world
function lastIndexOf($needle, $arr)
{
    return array_search($needle, array_reverse($arr, true), true);
}

echo(lastIndexOf("ascorbic", $fruits3)); //returns "4"

// so these (above) are the two ways to run a function similar to indexOf and lastIndexOf()

Dies ist der beste Weg, es zu tun, sehr einfach.

$msg = "Hello this is a string";
$first_index_of_i = stripos($msg,'i');
$last_index_of_i = strripos($msg, 'i');

echo "First i : " . $first_index_of_i . PHP_EOL ."Last i : " . $last_index_of_i;

1230380cookie-checkindexOf und lastIndexOf in PHP?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy