2

preg_matchPHP開発者がリターンデータ を持たないことを選択したプログラム上の理由があるのではないかと思いました。

私は主に、値を返す代わりに存在しない変数を参照する方が速いかどうか疑問に思っていますか?

それとも、これは「関数が実装された方法」の問題の1つにすぎませんか?

お時間をいただきありがとうございます。

4

1 に答える 1

1

このようにすると、実際にキャプチャされた部分文字列が使用されていない場合に、不要な文字列バッファーのコピーが回避されます。文字列のサイズによっては、これはかなりのリソースの浪費になる可能性があります。

引数が渡されない場合、PHP はその$matches引数にリソースを割り当てるかどうかを決定できます。preg_match()通常、戻り値を評価する必要がある条件内で使用されるため、戻り値に対して同じことを行うことはできません。

于 2012-08-15T12:50:14.400 に答える