array_push 메소드는 하나 이상의 요소를 배열의 끝에 푸시합니다.
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push()는 배열을 스택으로 처리하고 전달된 변수를 배열 끝에 푸시합니다. 배열의 길이는 스택에 푸시된 변수의 수에 따라 늘어납니다.
아래와 같은 효과:
<?php$arr[] = $value;?>
array_push를 사용하여 1000000개 요소 푸시
<?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(' ', microtime()); return (float)$usec + (float)$sec; }?>
실행 시간: 2735.545158ms
밀고 $arr[] = $value
<?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(' ', microtime()); return (float)$usec + (float)$sec; }?>
을 사용하는 100000개 요소 실행 시간: 417.458057 ms
결과: $arr[]=$value를 사용하여 한 번에 하나의 요소를 푸시하는 것이 The를 사용하는 것보다 낫습니다. array_push 방법은 7배 빠릅니다.
array_push 방법을 사용하여 100000개 요소, 매번 50개 요소 푸시
<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i=$i+50){ array_push($arr, $i,$i+1,$i+2,$i+3,$i+4,$i+5,$i+6,$i+7,$i+8,$i+9,$i+10, $i+11,$i+12,$i+13,$i+14,$i+15,$i+16,$i+17,$i+18,$i+19, $i+21,$i+22,$i+23,$i+24,$i+25,$i+26,$i+27,$i+28,$i+29, $i+31,$i+32,$i+33,$i+34,$i+35,$i+36,$i+37,$i+38,$i+39, $i+41,$i+42,$i+43,$i+44,$i+45,$i+46,$i+47,$i+48,$i+49); }$endtime = get_microtime(); printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec; }?>
실행 시간: 250.149012ms
결과: 사용 array_push 한 번에 여러 요소를 푸시하는 것이 $arr[]=$value를 여러 번 사용하는 것보다 빠릅니다. array_push가 한 번에 더 많은 요소를 푸시할수록 더 효율적입니다.
요소를 푸시하는 경우 $arr[]=$value를 사용하면 함수 호출에 따른 추가 부담을 줄일 수 있으므로 효율적입니다.
여러 요소가 동시에 푸시되는 경우 파일 끝 부분에 대한 포인터를 반복적으로 얻을 필요가 없으므로 array_push를 사용하는 것이 더 효율적입니다.
결과: $arr[]=$value를 사용하면 한 번에 하나의 요소를 푸시하는 것이 array_push 메서드를 사용하는 것보다 7배 빠릅니다.
이 기사에서는 php array_push와 $arr[]=$value의 성능 비교에 대해 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.
관련 권장사항:
mysql 타임스탬프 형식 지정 함수 from_unixtime
mysql 함수 concat 및 group_concat 사용에 대한 지침
mysql innodb 오류를 처리하는 방법에 대한 설명 시작하고 다시 시작할 수 없습니다
위 내용은 PHP array_push와 $arr[]=$value 간의 성능 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!