PHP - рдХрдИ array_merge рдХрд╛ рдЕрдиреБрдХреВрд▓рди ()

рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рдВрдХреЗрдд рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЕрдм рдмрд╛рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдХрд╛рдлреА рд╕рдордп рддрдХ рд╕реАрдЦрд╛ред рд▓реЗрдХрд┐рди, рдЬрдм рд╕реЗ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдЬрдЧрд╣ рдкрд░ рдерд╛ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдиреЗ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдордп рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЬрдирддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдФрд░ рдкреБрд░реБрд╖ рдирд╣реАрдВ рдЬрд╛рдирддреЗ, рд╣рд╛рдБ)ред



рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдФрд░ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реИ:



$ рд╢реБрд░реБрдЖрдд = рдорд╛рдЗрдХреНрд░реЛрдЯрд╛рдЗрдо ( рд╕рдЪ ) ;

$ res1 = array ( ) ;

рдХреЗ рд▓рд┐рдП ( $ i = 0 ; $ i < 1000 ; $ i ++ ) {

$ res1 = array_merge ( $ res1 , array ( 1 , 2 , 3 ) ) ;

}

рдЗрдХреЛ "1000 рдорд░реНрдЬ:" ред Ceil ( ( microtime ( true ) - $ start ) * 1000 ) ред "рдПрдордПрд╕ \ рдПрди " ;



$ рд╢реБрд░реБрдЖрдд = рдорд╛рдЗрдХреНрд░реЛрдЯрд╛рдЗрдо ( рд╕рдЪ ) ;

$ рдореЗрдЧрд░ = рд╕рд░рдгреА ( ) ;

рдХреЗ рд▓рд┐рдП ( $ i = 0 ; $ i < 1000 ; $ i ++ ) {

$ toMerge [ ] = рд╕рд░рдгреА ( 1 , 2 , 3 ) ;

}

$ res2 = call_user_func_array ( 'array_merge' , $ toMerge ) ;

рдЗрдХреЛ "call_user_func_array ('array_merge', ..):" ред Ceil ( ( microtime ( true ) - $ start ) * 1000 ) ред "рдПрдордПрд╕ \ рдПрди " ;



рдЧреВрдВрдЬ "рдХреНрдпрд╛ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рджреЛ рд╕рд░рдгрд┐рдпрд╛рдБ рд╕рдорд╛рди рд╣реИрдВ? рдпрд╣" рд╣реИ ;

var_export ( $ res2 === $ res1 ) ;

рдЗрдХреЛ "ред \ n " ;


~ % php ~/tmp/array_merge.php

1000 merges: 980ms

call_user_func_array('array_merge',..): 11ms

Is it true that the two arrays are equal? It is true.








рдмрдЪрдд рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рд╢рд╛рдпрдж рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред



All Articles