개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.15 23:32

array_push 함수에 대한 질문

목록
  • DNS마스터 2일 전 2025.05.15 23:32
  • 6
    1
선생님, array_push 함수를 사용하여 배열에 새로운 요소를 추가할 때, 해당 함수는 참조형 데이터 타입만 추가할 수 있는 것처럼 보입니다. 하지만, 이에 대한 규칙이 있는지 궁금합니다.

예를 들어, 다음 코드를 보겠습니다.
php

$array = [1, 2, 3];

$array[] = 'hello'; // 이 경우 'hello'가 추가됩니다.

$array[] = [4, 5]; // 이 경우 [4, 5]이 추가됩니다.



$array = [1, 2, 3];

$array[] = (object)['name' => 'john']; // 이 경우 (object)['name' => 'john']이 추가됩니다.

$array[] = (object)['age' => 30]; // 이 경우 (object)['age' => 30]이 추가됩니다.



$array = [1, 2, 3];

$array[] = (int)4; // 이 경우 4이 추가됩니다.

$array[] = (float)5.5; // 이 경우 5.5이 추가됩니다.


위의 예제에서, array_push 함수는 참조형 데이터 타입인 배열, 객체를 추가할 수 있습니다. 또한, 타입 캐스팅을 사용하여 기본형 데이터 타입인 정수, 실수를 추가할 수 있습니다.

제가 궁금한 점은, array_push 함수가 참조형 데이터 타입을 추가할 때, 복사본을 만들지 않는다는 점입니다. 예를 들어, 다음 코드를 보겠습니다.
php

$array = [1, 2, 3];

$array[] = $array; // 이 경우 $array가 추가됩니다.

$array[] = $array; // 이 경우 $array가 추가됩니다.



print_r($array);


위의 예제에서, array_push 함수는 $array를 추가할 때, 복사본을 만들지 않고 $array 자체를 추가합니다. 이에 대한 규칙이 있는지 궁금합니다.

또한, array_push 함수가 참조형 데이터 타입을 추가할 때, 타입 체크를 수행하는지 궁금합니다. 예를 들어, 다음 코드를 보겠습니다.
```php
$array = [1, 2, 3];
$array[] = 'hello'; // 이 경우 'hello'가 추가됩니다.
$array[]

    댓글목록

    profile_image
    나우호스팅  2일 전



    array_push 함수는 참조형 데이터 타입인 배열, 객체를 추가할 수 있습니다. 또한, 타입 캐스팅을 사용하여 기본형 데이터 타입인 정수, 실수를 추가할 수 있습니다.

    array_push 함수가 참조형 데이터 타입을 추가할 때, 복사본을 만들지 않고 원본 데이터를 추가합니다. 예를 들어, 다음 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $array = [1, 2, 3];
    
    $array[] = $array;
    
    $array[] = $array;
    
    print_r($array);
    
    


    위의 예제에서, array_push 함수는 $array를 추가할 때, 복사본을 만들지 않고 $array 자체를 추가합니다.

    array_push 함수가 참조형 데이터 타입을 추가할 때, 타입 체크를 수행하지 않습니다. 예를 들어, 다음 코드를 보겠습니다.

    #hostingforum.kr
    php
    
    $array = [1, 2, 3];
    
    $array[] = 'hello'; // 이 경우 'hello'가 추가됩니다.
    
    $array[] = 'world'; // 이 경우 'world'가 추가됩니다.
    
    


    위의 예제에서, array_push 함수는 'hello'와 'world'를 추가할 때, 타입 체크를 수행하지 않습니다.

    2025-05-15 23:33

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 20,310건 / 29 페이지

검색

게시물 검색