Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include 'inc/config.php';
- # замер времени
- function timeMeasure()
- {
- list( $msec, $sec ) = explode( chr(32), microtime() );
- return $sec + $msec;
- }
- # вывод результатов
- function timeMeasureEnd( $label )
- {
- echo '<p>result ['.$label.'] = '.round( timeMeasure() - constant( $label ), 4 ).'</p>';
- }
- # генерируем массив
- define( 'GENERATE_ARRAY', timeMeasure() );
- $ar = array();
- for( $i = 0; $i < 100000; ++ $i )
- {
- $ar[] = 1;
- }
- timeMeasureEnd( 'GENERATE_ARRAY' );
- # используем указатели
- define( 'FOREACH_WITH_POINTER', timeMeasure() );
- foreach( $ar as &$value )
- {
- ++ $value;
- }
- timeMeasureEnd( 'FOREACH_WITH_POINTER' );
- # используем ключи массива
- define( 'FOREACH_WITHOUT_POINTER', timeMeasure() );
- foreach( $ar as $key => $value )
- {
- $ar[ $key ] = $value + 1;
- }
- timeMeasureEnd( 'FOREACH_WITHOUT_POINTER' );
- # работаем с другим массивом
- define( 'FOREACH_WITH_REPLACE', timeMeasure() );
- foreach( $ar as $value )
- {
- $new_ar[] = $value + 1;
- }
- $ar = $new_ar;
- timeMeasureEnd( 'FOREACH_WITH_REPLACE' );
- # используем array_map
- define( 'ARRAY_MAP', timeMeasure() );
- function test( $value ){ return $value + 1; };
- $ar = array_map( 'test', $ar );
- timeMeasureEnd( 'ARRAY_MAP' );
- ?>
- result [GENERATE_ARRAY] = 0.0376
- result [FOREACH_WITH_POINTER] = 0.0099
- result [FOREACH_WITHOUT_POINTER] = 0.0576
- result [FOREACH_WITH_REPLACE] = 0.0509
- result [ARRAY_MAP] = 0.0867
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement