Wann funktioniert die Einstellung 'Perl = TRUE' in 'strsplit' nicht (wie beabsichtigt oder überhaupt)?

9

Ich habe gerade ein Benchmarking durchgeführt, während ich versucht habe, Code zu optimieren, und festgestellt, dass strsplit mit perl=TRUE schneller ist als% strsplit mit perl=FALSE . Zum Beispiel

%Vor%

Also meine Frage (oder eher eine Variation der Frage im Titel) ist, unter welchen Umständen wäre absolut perl=FALSE (ohne die Parameter fixed und useBytes )? Mit anderen Worten: Was können wir nicht mit perl=TRUE tun, indem Sie perl=FALSE ?

setzen?     
Arun 20.07.2013, 00:49
quelle

1 Antwort

2

aus der Dokumentation;)

  

Leistungsaspekte

     

Wenn Sie viele Übereinstimmungen mit regulären Ausdrücken vornehmen, auch bei sehr langen Strings, sollten Sie die verwendeten Optionen berücksichtigen. Im Allgemeinen ist PCRE schneller als die Standardmaschine für reguläre Ausdrücke, und fixed = immer noch schneller (besonders wenn jedes Muster nur ein paar Mal übereinstimmt).

Dies beantwortet natürlich nicht die Frage "Gibt es irgendwelche Gefahren, immer perl=TRUE zu verwenden"

    
Ricardo Saporta 20.07.2013 01:48
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '316775',
    'url' => 'when-does-setting-perl-true-in-strsplit-does-not-work-as-intended-or-at-all',
];

$_SESSION = [
    '__flash' => [],
];