@@ -265,15 +265,16 @@ public function count()
265265 */
266266 private function doCountBin ()
267267 {
268- $ count = 0 ;
269- $ byteLen = strlen ($ this ->bitset );
268+ $ count = 0 ;
269+ $ bitset = $ this ->bitset ;
270+ $ byteLen = strlen ($ bitset );
270271 for ($ bytePos = 0 ; $ bytePos < $ byteLen ; ++$ bytePos ) {
271- if ($ this -> bitset [$ bytePos ] === "\0" ) {
272+ if ($ bitset [$ bytePos ] === "\0" ) {
272273 // fast skip null byte
273274 continue ;
274275 }
275276
276- $ ord = ord ($ this -> bitset [$ bytePos ]);
277+ $ ord = ord ($ bitset [$ bytePos ]);
277278 for ($ bitPos = 0 ; $ bitPos < 8 ; ++$ bitPos ) {
278279 if ($ ord & (1 << $ bitPos )) {
279280 ++$ count ;
@@ -468,14 +469,15 @@ public function getOrdinals()
468469 private function doGetOrdinalsBin ()
469470 {
470471 $ ordinals = [];
471- $ byteLen = strlen ($ this ->bitset );
472+ $ bitset = $ this ->bitset ;
473+ $ byteLen = strlen ($ bitset );
472474 for ($ bytePos = 0 ; $ bytePos < $ byteLen ; ++$ bytePos ) {
473- if ($ this -> bitset [$ bytePos ] === "\0" ) {
475+ if ($ bitset [$ bytePos ] === "\0" ) {
474476 // fast skip null byte
475477 continue ;
476478 }
477479
478- $ ord = ord ($ this -> bitset [$ bytePos ]);
480+ $ ord = ord ($ bitset [$ bytePos ]);
479481 for ($ bitPos = 0 ; $ bitPos < 8 ; ++$ bitPos ) {
480482 if ($ ord & (1 << $ bitPos )) {
481483 $ ordinals [] = $ bytePos * 8 + $ bitPos ;
@@ -496,9 +498,11 @@ private function doGetOrdinalsBin()
496498 */
497499 private function doGetOrdinalsInt ()
498500 {
499- $ ordinals = [];
500- for ($ ord = 0 ; $ ord < $ this ->ordinalMax ; ++$ ord ) {
501- if ($ this ->bitset & (1 << $ ord )) {
501+ $ ordinals = [];
502+ $ ordinalMax = $ this ->ordinalMax ;
503+ $ bitset = $ this ->bitset ;
504+ for ($ ord = 0 ; $ ord < $ ordinalMax ; ++$ ord ) {
505+ if ($ bitset & (1 << $ ord )) {
502506 $ ordinals [] = $ ord ;
503507 }
504508 }
0 commit comments