>백엔드 개발 >PHP 튜토리얼 >php array_push의 성능 비교 및 ​​$ arr [] = $ value

php array_push의 성능 비교 및 ​​$ arr [] = $ value

PHP中文网
PHP中文网원래의
2017-06-07 14:34:261515검색
<_ array_push style="margin: 10px 0px; font-size: 20px; line-height: 1.5; color: rgb(0, 0, 0); font-family: Verdana, Arial, Helvetica, sans-serif; font-variant-ligatures: normal; orphans: 2; white-space: normal; widows: 2; background-color: rgb(255, 255, 255);"> array_push 메소드는 하나 이상의 요소를 배열 끝으로 푸시합니다.

array_push ()는 배열을 스택으로 취급하고 전달 된 변수를 배열 끝으로 밀어 넣습니다. 배열의 길이는 스택에 푸시 된 변수의 수에 따라 증가합니다. 다음과 같은 효과 :

int array_push ( array &$array , mixed $var [, mixed $... ] )

2 100000 요소를 푸시
<?php
$arr[] = $value;
?>
실행 시간 : 2735.545158 ms

$ arr [] = $ 값을 100000 요소를 푸시하려면 실행 시간 : 417.458057 ms

결과 : 한 번에 하나의 요소를 눌러 $ arr [] = $ 값을 사용하여 array_push 메소드를 사용하는 것보다 7 배 더 빠릅니다.

3 비교를 위해 여러 요소를 동시에 푸시하십시오.

<?php
$starttime = get_microtime();
$arr = array();
for($i=0; $i<1000000; $i++){
    array_push($arr, $i);
}
$endtime = get_microtime();
printf("run time %f ms\r\n", ($endtime-$starttime)*1000);

function get_microtime(){
    list($usec, $sec) = explode(&#39; &#39;, microtime());
    return (float)$usec + (float)$sec;
}
?>
array_push 메소드를 사용하여 100,000 요소, 50 요소를 실행 시간 : 250.149012 MS. 결과 : Array_Push를 사용하여 여러 요소를 한 번에 푸시하는 것이 $ arr [] = $ 값을 여러 번 사용하는 것보다 빠릅니다. 더 많은 요소 array_push가 한 번에 밀어 넣을수록 더 효율적입니다.

요약 : 요소를 푸시하는 경우 $ arr [] = $ 값을 사용하여 호출 함수의 추가 부담을 절약 할 수 있기 때문에 효율적입니다. 여러 요소가 동시에 푸시되면 Array_Push를 사용하는 것이 파일 끝에 대한 포인터를 반복적으로 얻을 필요가 없기 때문에 더 효율적입니다.

<?php
$starttime = get_microtime();
$arr = array();
for($i=0; $i<1000000; $i++){
    $arr[] = $i;
}
$endtime = get_microtime();
printf("run time %f ms\r\n", ($endtime-$starttime)*1000);

function get_microtime(){
    list($usec, $sec) = explode(&#39; &#39;, microtime());
    return (float)$usec + (float)$sec;
}
?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.