6

更新:私はstrrposそれがのドキュメントだと思ってドキュメントを見ていましたstrpos。ばかげた間違いでごめんなさい。

ドキュメントによると、オフセット引数として負の値を指定すると、関数は文字列の末尾からその数の文字を逆方向に検索し始めると書かれています。例2でもこれを示しています。では、なぜこのコードを正しく機能させることができないのですか?

$val = strpos('/imports/products/nin_avatar.png', '/', -2);

文字列の最後のスラッシュのインデックスを取得しようとしていますが、戻り続けfalseます..いくつかの異なる負のオフセットを試しましたが、どれも機能していないようです。私は何か間違ったことをしていますか?

4

4 に答える 4

8

新しいバージョンのPHPで現在意図されているOPとして機能しているようです。


歴史的な答え

のPHPマニュアルstrpos()は...

strrpos()およびとは異なりstrripos()、オフセットを負にすることはできません。

ソース

警告を有効にして開発した場合、これはより明白になります。開発インスタンスでは、のようなものを使用しますerror_reporting(E_ALL)

于 2013-01-03T23:06:18.087 に答える
3

strrposの代わりに使用してくださいstrpos

于 2013-01-03T23:06:34.540 に答える
1

この質問をしたときにドキュメントが何を言っているのかわかりませんが、ドキュメントを見る、最新バージョン7.1.0で負のオフセットがサポートされていると表示されています。この質問と同じ問題

したがって、現時点では、strpos**で負のオフセットがサポートされています。

**バージョン7.1.0では

于 2017-05-18T08:27:58.163 に答える
1

PHP7.1.0で負のオフセットのサポートが追加されました

http://php.net/manual/en/function.strpos.php

于 2017-12-10T22:19:00.667 に答える