Programming

array_push ()와 $ array [] =의 차이점

procodes 2020. 7. 23. 21:07
반응형

array_push ()와 $ array [] =의 차이점


PHP 매뉴얼에서 ( array_push )는 ..

array_push ()사용 하여 하나의 요소를 배열에 추가하는 경우 $ array [] = 를 사용하는 것이 좋습니다. 이런 방식으로 함수를 호출하는 오버 헤드가 없기 때문입니다.

예를 들면 다음과 같습니다.

$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);

vs

$arr[] = "stackoverflow";
print_r($arr);

왜 큰 차이가 있는지 모르겠습니다.


PHP에서 함수 (예 :)를 호출 할 때 array_push()PHP는 함수 참조를 찾아 메모리에서 해당 위치를 찾고 정의한 코드를 실행해야하므로 호출에 대한 오버 헤드가 있습니다.

사용 $arr[] = 'some value';에는 함수 호출이 필요하지 않으며 데이터 구조에 직접 추가를 구현합니다. 따라서 많은 양의 데이터를 추가 할 때 사용하는 것이 훨씬 빠르고 효율적 $arr[]입니다.


array_push를 사용하여 한 번에 둘 이상의 요소를 배열에 추가 할 수 있습니다.

예 : array_push($array_name, $element1, $element2,...)

여기서 $ element1, $ element2, ...는 배열에 추가 할 요소입니다.

그러나 한 번에 하나의 요소 만 추가하려면 다른 방법 (예 : $ array_name [] 사용)이 선호됩니다.


차이점은 "함수를 호출하는 오버 헤드가 없기 때문에"아래 줄에 있습니다.

array_push()첫 번째 인수가 배열이 아닌 경우 경고가 발생합니다. 이것은 $var[]새로운 배열이 생성 되는 동작 과 다릅니다 .


$array[]상자에 함수 호출에 대한 오버 헤드가 없기 때문에 가능하면 항상 사용해야 합니다. 따라서 함수 호출보다 약간 빠릅니다.


array_push — 하나 이상의 요소를 배열의 끝에 밀어 넣습니다.

배열의 최대 크기를 가져와야 할 경우 " 끝에 하나 이상의 요소 "라는 단어를 기록하십시오.$arr[]


설명 : 1. 첫 번째 변수는 배열에서 변수를 선언합니다.

2. 두 번째 array_push 메소드는 배열 변수에서 문자열을 푸시하는 데 사용됩니다.

3. 마지막으로 결과를 인쇄합니다.

4. 두 번째 방법은 문자열을 배열에 직접 저장하는 것입니다.

5. print_r 메소드를 사용하여 데이터가 배열 값으로 인쇄됩니다.

이 둘은 같다


둘 다 동일하지만 array_push는 배열 인 매개 변수에서 루프를 만들고 $ array [] = $ element를 수행합니다.


아무도 말하지 않았지만 array_push는 요소를 배열의 끝으로 만 밀어 넣습니다. 여기서 $ array [index]는 주어진 인덱스에 값을 삽입 할 수 있습니다. 큰 차이.


나는 이것이 오래된 대답이라는 것을 알고 있지만 두 사람의 또 다른 차이점은 배열에 루프 당 2/3 이상의 값을 추가 해야하는 경우 사용하는 것이 더 빠르다는 것입니다.

     for($i = 0; $i < 10; $i++){
          array_push($arr, $i, $i*2, $i*3, $i*4, ...)
     }

대신에:

     for($i = 0; $i < 10; $i++){
         $arr[] = $i;
         $arr[] = $i*2;
         $arr[] = $i*3;
         $arr[] = $i*4;
         ...
     }

편집- for조건부 대괄호를 닫는 것을 잊었다

참고 URL : https://stackoverflow.com/questions/14232766/difference-between-array-push-and-array

반응형