En Java, nous pouvons utiliser indexOf
et lastIndexOf
. Puisque ces fonctions n’existent pas en PHP, quel serait l’équivalent PHP de ceci Java??
if(req_type.equals("RMT"))
pt_password = message.substring(message.indexOf("-")+1);
else
pt_password = message.substring(message.indexOf("-")+1,message.lastIndexOf("-"));
Vous avez besoin des fonctions suivantes pour le faire en PHP:
strpos
Trouver la position de la première occurrence d'une sous-chaîne dans une chaîne
strrpos
Trouver la position de la dernière occurrence d'une sous-chaîne dans une chaîne
substr
Retourne une partie d'une chaîne
Voici la signature de la fonction substr
:
string substr ( string $string , int $start [, int $length ] )
La signature de la fonction substring
(Java) est un peu différente:
string substring( int beginIndex, int endIndex )
substring
(Java) attend l'index final comme dernier paramètre, mais substr
(PHP) attend une longueur.
Ce n'est pas difficile, pour obtenir la longueur souhaitée par l'index de fin de fichier en PHP :
$sub = substr($str, $start, $end - $start);
Voici le code de travail
$start = strpos($message, '-') + 1;
if ($req_type === 'RMT') {
$pt_password = substr($message, $start);
}
else {
$end = strrpos($message, '-');
$pt_password = substr($message, $start, $end - $start);
}
En php:
La fonction stripos () permet de trouver la position de la première occurrence d'une sous-chaîne insensible à la casse dans une chaîne.
La fonction strripos () permet de trouver la position de la dernière occurrence d'une sous-chaîne insensible à la casse dans une chaîne.
Exemple de code:
$string = 'This is a string';
$substring ='i';
$firstIndex = stripos($string, $substring);
$lastIndex = strripos($string, $substring);
echo 'Fist index = ' . $firstIndex . ' ' . 'Last index = '. $lastIndex;
Sortie: Index du poing = 2 Dernier index = 13
<?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()