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

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

PHP中文网
풀어 주다: 2023-02-28 22:44:01
원래의
1464명이 탐색했습니다.
<_ 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;
}
?>
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿