<?php
$time = array ( 'for_loop' => 0 , 'array_chunk' => 0 , 'while_floor' => 0 , 'while_array_slice' => 0 ) ; // for loop
for ( $c = 1 ; $c <= 10 ; $c ++ ) {
for ( $i = 1 ; $i <= 100 ; $i += 2 )
$a [ ] = $i ;
$two_pair_as_range_compare = function ( $array , $compare ) {
for ( $i = 0 ; $i < count ( $array ) ; $i += 2 ) { if ( $compare >= $array [ $i ] && $compare <= $array [ $i + 1 ] )
return true ;
}
return false ;
} ;
for ( $i = 2 ; $i <= 100 ; $i += 2 )
$two_pair_as_range_compare ( $a , $i ) ;
$time [ 'for_loop' ] += $time_end - $time_start ;
}
// array_chunk
for ( $c = 1 ; $c <= 10 ; $c ++ ) {
// for loop
for ( $i = 1 ; $i <= 100 ; $i += 2 )
$a [ ] = $i ;
$two_pair_as_range_compare = function ( $array , $compare ) {
foreach ( $range as $eq ) {
if ( $compare >= $eq [ 0 ] && $compare <= $eq [ 1 ] )
return true ;
}
return false ;
} ;
for ( $i = 2 ; $i <= 100 ; $i += 2 )
$two_pair_as_range_compare ( $a , $i ) ;
$time [ 'array_chunk' ] += $time_end - $time_start ;
}
// while floor
for ( $c = 1 ; $c <= 10 ; $c ++ ) {
// for loop
for ( $i = 1 ; $i <= 100 ; $i += 2 )
$a [ ] = $i ;
$two_pair_as_range_compare = function ( $a , $b ) {
$cc = 0 ;
while ( 1 ) {
if ( floor ( $a [ $cc ] ) < $b && $b < floor ( $a [ $cc + 1 ] ) ) { return true ; //echo '找到('.$a[$cc].'-'.$a[$cc+1].')';
}
} else { return false ; break ; }
$cc = $cc + 1 ;
}
} ;
for ( $i = 2 ; $i <= 100 ; $i += 2 )
$two_pair_as_range_compare ( $a , $i ) ;
$time [ 'while_floor' ] += $time_end - $time_start ;
}
// while array_slice
for ( $c = 1 ; $c <= 10 ; $c ++ ) {
// for loop
for ( $i = 1 ; $i <= 100 ; $i += 2 )
$a [ ] = $i ;
$two_pair_as_range_compare = function ( $array , $element ) {
$cnt = 0 ;
$cnt += 2 ;
if ( $pair [ 0 ] <= $element && $pair [ 1 ] >= $element ) {
return true ;
}
}
return false ;
} ;
for ( $i = 2 ; $i <= 100 ; $i += 2 )
$two_pair_as_range_compare ( $a , $i ) ;
$time [ 'while_array_slice' ] += $time_end - $time_start ;
}
PD9waHAKc2V0X3RpbWVfbGltaXQoNjAwKTsKJGEgPSBhcnJheSgpOwokdGltZSA9IGFycmF5KCdmb3JfbG9vcCc9PjAsICdhcnJheV9jaHVuayc9PjAsICd3aGlsZV9mbG9vcic9PjAsICd3aGlsZV9hcnJheV9zbGljZSc9PjApOwovLyBmb3IgbG9vcApmb3IoJGM9MTskYzw9MTA7JGMrKyl7CgkkdGltZV9zdGFydCA9IG1pY3JvdGltZSh0cnVlKTsKCglmb3IoJGk9MTskaTw9MTAwOyRpKz0yKQoJCSRhW109JGk7CgoJJHR3b19wYWlyX2FzX3JhbmdlX2NvbXBhcmUgPSBmdW5jdGlvbigkYXJyYXksICRjb21wYXJlKXsKCQlmb3IoJGk9MDskaTxjb3VudCgkYXJyYXkpOyRpKz0yKXsKCQkJaWYoICRjb21wYXJlPj0kYXJyYXlbJGldICYmICRjb21wYXJlPD0kYXJyYXlbJGkrMV0gKQoJCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX07CgoJZm9yKCRpPTI7JGk8PTEwMDskaSs9MikKCQkkdHdvX3BhaXJfYXNfcmFuZ2VfY29tcGFyZSgkYSwgJGkpOwoKCSR0aW1lX2VuZCA9IG1pY3JvdGltZSh0cnVlKTsKCgkkdGltZVsnZm9yX2xvb3AnXSArPSAkdGltZV9lbmQgLSAkdGltZV9zdGFydDsKfQoKLy8gYXJyYXlfY2h1bmsKZm9yKCRjPTE7JGM8PTEwOyRjKyspewoJJHRpbWVfc3RhcnQgPSBtaWNyb3RpbWUodHJ1ZSk7CgoJLy8gZm9yIGxvb3AKCWZvcigkaT0xOyRpPD0xMDA7JGkrPTIpCgkJJGFbXT0kaTsKCgkkdHdvX3BhaXJfYXNfcmFuZ2VfY29tcGFyZSA9IGZ1bmN0aW9uKCRhcnJheSwgJGNvbXBhcmUpewoJCSRyYW5nZSA9IGFycmF5X2NodW5rKCRhcnJheSwyKTsKCQlmb3JlYWNoKCRyYW5nZSBhcyAkZXEpewoJCQlpZiggJGNvbXBhcmU+PSRlcVswXSAmJiAkY29tcGFyZTw9JGVxWzFdICkKCQkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9OwoKCWZvcigkaT0yOyRpPD0xMDA7JGkrPTIpCgkJJHR3b19wYWlyX2FzX3JhbmdlX2NvbXBhcmUoJGEsICRpKTsKCgkkdGltZV9lbmQgPSBtaWNyb3RpbWUodHJ1ZSk7CgoJJHRpbWVbJ2FycmF5X2NodW5rJ10gKz0gJHRpbWVfZW5kIC0gJHRpbWVfc3RhcnQ7Cn0KCi8vIHdoaWxlIGZsb29yCmZvcigkYz0xOyRjPD0xMDskYysrKXsKCSR0aW1lX3N0YXJ0ID0gbWljcm90aW1lKHRydWUpOwoKCS8vIGZvciBsb29wCglmb3IoJGk9MTskaTw9MTAwOyRpKz0yKQoJCSRhW109JGk7CgoJJHR3b19wYWlyX2FzX3JhbmdlX2NvbXBhcmUgPSBmdW5jdGlvbigkYSwgJGIpewoJCSRjYyA9IDA7CgkJd2hpbGUoMSl7CgkJICBpZiggZmxvb3IoJGFbJGNjXSkgJiYgZmxvb3IoJGFbJGNjKzFdKSApewoJCQlpZiggZmxvb3IoJGFbJGNjXSkgPCAkYiAmJiAkYiA8IGZsb29yKCRhWyRjYysxXSkgKXsKCQkJICByZXR1cm4gdHJ1ZTsgLy9lY2hvICfmib7liLAoJy4kYVskY2NdLictJy4kYVskY2MrMV0uJyknOwoJCQl9CgkJICB9ZWxzZXsgcmV0dXJuIGZhbHNlOyBicmVhazt9CgkJICAkY2M9JGNjKzE7CgkJfQoJfTsKCglmb3IoJGk9MjskaTw9MTAwOyRpKz0yKQoJCSR0d29fcGFpcl9hc19yYW5nZV9jb21wYXJlKCRhLCAkaSk7CgoJJHRpbWVfZW5kID0gbWljcm90aW1lKHRydWUpOwoKCSR0aW1lWyd3aGlsZV9mbG9vciddICs9ICR0aW1lX2VuZCAtICR0aW1lX3N0YXJ0Owp9CgovLyB3aGlsZSBhcnJheV9zbGljZQpmb3IoJGM9MTskYzw9MTA7JGMrKyl7CgkkdGltZV9zdGFydCA9IG1pY3JvdGltZSh0cnVlKTsKCgkvLyBmb3IgbG9vcAoJZm9yKCRpPTE7JGk8PTEwMDskaSs9MikKCQkkYVtdPSRpOwoKCSR0d29fcGFpcl9hc19yYW5nZV9jb21wYXJlID0gZnVuY3Rpb24oJGFycmF5LCAkZWxlbWVudCl7CgkJJGNudCA9IDA7CgkJd2hpbGUoKCRwYWlyID0gYXJyYXlfc2xpY2UoJGFycmF5LCRjbnQsMikpICYmIChjb3VudCgkcGFpcikgPT09IDIpKXsKCQkJJGNudCArPSAyOwoJCQlpZigkcGFpclswXSA8PSAkZWxlbWVudCAmJiAkcGFpclsxXSA+PSAkZWxlbWVudCl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9OwoKCWZvcigkaT0yOyRpPD0xMDA7JGkrPTIpCgkJJHR3b19wYWlyX2FzX3JhbmdlX2NvbXBhcmUoJGEsICRpKTsKCgkkdGltZV9lbmQgPSBtaWNyb3RpbWUodHJ1ZSk7CgoJJHRpbWVbJ3doaWxlX2FycmF5X3NsaWNlJ10gKz0gJHRpbWVfZW5kIC0gJHRpbWVfc3RhcnQ7Cn0KCnByaW50X3IoJHRpbWUpO2V4aXQ7CmV4aXQ7