の終了限界で文字列内のサブ文字列の最後に現れる位置を見つけます。
現在、私は
strrpos($string,'@');
を使用しています
のstrrposの3番目のパラメータは、我々は、インデックスを終了与えることができ、インデックス開始されるのですか?
の終了限界で文字列内のサブ文字列の最後に現れる位置を見つけます。
現在、私は
strrpos($string,'@');
を使用しています
のstrrposの3番目のパラメータは、我々は、インデックスを終了与えることができ、インデックス開始されるのですか?
strrpos
を使用すると、最後のオカレンスを取得できます。あなたの目的のためにfunction.strrpos
の詳細、あなたは$
とあなたの文字列を爆発し、爆発配列の最初のindex
ためstrrpos
のアプリケーションを起動する必要があります。
これを試してみてください:
$string="abc @def @xyz $ @def @xyz";
$strArr = explode('$', $string);
$pos = strrpos($strArr[0], "@");
if ($pos === false) { // note: three equal signs
echo 'Not Found!';
}else
echo $pos; //Output 9 this case
ありがとう@Frayne。 –
別の方法を: -
$string="abc @def @xyz $ @def @xyz";
$pos = strrpos($string, '@', -strrpos($string, '$'));
if($pos === false){
echo 'Not Found!';
}else{
echo $pos; // 9
}
注: - 負の符号が$記号の前の最後の '@' のインデックスを返します。
私は、このソリューションが文字列を最初に爆発させるよりもはるかにエレガントである – brense
もう一度、最後の '$'記号の位置をオフセットとして取得します。 – Rizier123
それは私が$の前に$のインデックスを必要とする検索の開始インデックスを検討します。 –
文字列が '' abc @def @xyz $ @def @xyz $ @bca "'の場合はどうなりますか? – RomanPerekhrest