PHP에서 함수에 넣을 때 객체의 인스턴스 생성이 실패합니까?

에반스

나는 Todo 클래스와 인스턴스를 만들었다. 할일이 생성되고 어레이에 추가됩니다.

$allTodos = array();

class Todo {
  public $todo;
}

$newTodo = new Todo();
$newTodo->todo = "Tidy room";
array_push($allTodos, $newTodo);

var_dump($allTodos);

그러나 코드를 함수에 넣으려고 할 때 깨지는 것처럼 보입니다.

$allTodos = array();

class Todo {
  public $todo;
}

function createTodo() {
  $newTodo = new Todo();
  $newTodo->todo = "Tidy room";
  array_push($allTodos, $newTodo);
}

createTodo();

var_dump($allTodos);

나는 calledPHP 경고 : array_push ()는 매개 변수 1이 배열이 될 것으로 예상하고 /home/runner/main.php에 null이 19 줄에 주어졌습니다. array (0) {

나는 PHP를 배우고 있지만 내 배경은 JavaScript이므로 PHP가 JS처럼 작동하지 않는 방식으로 동작 할 것으로 예상하는지 확실하지 않습니까?

Mitya

때문에 createTodo()'볼'수 없습니다 $allTodos. 다음 global명령을 통해 사용할 수 있도록해야합니다 .

function createTodo() {
    global $allTodos; //<-- this
    $newTodo = new Todo();
    $newTodo->todo = "Tidy room";
    array_push($allTodos, $newTodo);
}

즉, 변수 전역 화는 여러 가지 이유로 PHP에서 눈살을 찌푸립니다. 또는 참조로 함수에 전달할 수 있습니다.

function createTodo(&$arr) { //<-- & denotes by reference, not value
    $newTodo = new Todo();
    $newTodo->todo = "Tidy room";
    array_push($arr, $newTodo);
}
createTodo($allTodos);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python OOP에서 별도의 객체 생성을 건너 뛰고 클래스 함수가 호출 될 때 객체를 생성 할 수 있습니까?

분류에서Dev

Python에서 인스턴스 객체의 속성을 반복합니다.

분류에서Dev

PHP 동일한 객체의 인스턴스를 2 개 이상 생성하는 경우 첫 번째 객체에서 정보를 검색 할 수 있습니까?

분류에서Dev

동일한 호스트에서 두 개의 방랑 인스턴스를 실행할 때 ssh 포트 전달이 실패합니까?

분류에서Dev

C ++에서 chrono 용 함수를 만들려고 할 때 생성자의 인스턴스가 없습니다.

분류에서Dev

여러 수준에서 자주 참조 될 자바 객체를 생성 할 때, 더 클래스 인스턴스를 사용하거나 클래스의 정적을 만드는 것입니다?

분류에서Dev

PHP의 테이블 셀 내부에서 객체 클래스를 인스턴스화합니까?

분류에서Dev

프로토 타입에서 함수를 정의 할 때 각 새 인스턴스에서 함수가 다시 생성됩니까?

분류에서Dev

"객체에는 __dict__가 없으므로 객체 클래스의 인스턴스에 임의의 속성을 할당 할 수 없습니다."

분류에서Dev

생성자에서 객체의 특정 인스턴스 전달

분류에서Dev

각도 외부의 자바 스크립트 함수에서 각도 js에 의해 생성 된 객체의 인스턴스를 어떻게 얻을 수 있습니까?

분류에서Dev

push_back ()으로 객체를 인스턴스화 할 때 객체 생성자에 포인터를 어떻게 전달할 수 있습니까?

분류에서Dev

객체의 다른 클래스에 인스턴스 생성

분류에서Dev

클래스 유형이 변수에 저장 될 때 클래스의 인스턴스를 어떻게 생성합니까?

분류에서Dev

파이썬의 클래스 함수에서 객체 인스턴스 삭제

분류에서Dev

포인터 초기화에 의해 객체의 인스턴스가 생성 될 때 std :: string 속성이 비어있는 이유

분류에서Dev

구체적 유형으로 객체를 인스턴스화 할 때 변수에 제네릭 유형을 사용할 수없는 이유는 무엇입니까?

분류에서Dev

C # 클래스에 이미지 및 색상 속성이있을 때 어떤 종류의 디자인 패턴을 사용해야합니까?

분류에서Dev

함수의 클래스가 NSObject에서 상속되지 않을 때 ObjC에서 신속한 인스턴스 함수를 호출합니다.

분류에서Dev

HPC 클러스터에서 Dask LocalCluster의 인스턴스를 만들 때 SLURM 작업이 실패 함

분류에서Dev

클래스의 객체에 정수 값을 할당 할 때 매개 변수화 된 생성자가 호출되는 이유는 무엇입니까?

분류에서Dev

객체를 생성 할 때 객체 클래스에서 일부 코드를 어떻게 실행합니까?

분류에서Dev

std :: vector에서 변수를 생성하지 않고 객체를 참조하면 해당 객체의 새 인스턴스가 생성됩니까?

분류에서Dev

파이썬에서 클래스를 인스턴스화 할 때 인스턴스 속성을 참조 할 수 있습니까?

분류에서Dev

이 객체의 클래스에있을 때 창 객체에서 JavaFx 제거

분류에서Dev

왜 파이썬의 클래스 객체에서 개인 함수를 상속받을 수 있습니까?

분류에서Dev

함수형 프로그래밍 인스턴스 메서드에 대한 일부 책에서는 동반 객체에 정의 된 이진 함수에 위임합니다. 그 뒤에 실용적인 이유가 있습니까?

분류에서Dev

Python에서 개체 인스턴스화 중에 생성자 매개 변수 변수 이름을 사용합니까?

분류에서Dev

인스턴스화 된 객체없이 비 정적 멤버 함수에 액세스합니까?

Related 관련 기사

  1. 1

    Python OOP에서 별도의 객체 생성을 건너 뛰고 클래스 함수가 호출 될 때 객체를 생성 할 수 있습니까?

  2. 2

    Python에서 인스턴스 객체의 속성을 반복합니다.

  3. 3

    PHP 동일한 객체의 인스턴스를 2 개 이상 생성하는 경우 첫 번째 객체에서 정보를 검색 할 수 있습니까?

  4. 4

    동일한 호스트에서 두 개의 방랑 인스턴스를 실행할 때 ssh 포트 전달이 실패합니까?

  5. 5

    C ++에서 chrono 용 함수를 만들려고 할 때 생성자의 인스턴스가 없습니다.

  6. 6

    여러 수준에서 자주 참조 될 자바 객체를 생성 할 때, 더 클래스 인스턴스를 사용하거나 클래스의 정적을 만드는 것입니다?

  7. 7

    PHP의 테이블 셀 내부에서 객체 클래스를 인스턴스화합니까?

  8. 8

    프로토 타입에서 함수를 정의 할 때 각 새 인스턴스에서 함수가 다시 생성됩니까?

  9. 9

    "객체에는 __dict__가 없으므로 객체 클래스의 인스턴스에 임의의 속성을 할당 할 수 없습니다."

  10. 10

    생성자에서 객체의 특정 인스턴스 전달

  11. 11

    각도 외부의 자바 스크립트 함수에서 각도 js에 의해 생성 된 객체의 인스턴스를 어떻게 얻을 수 있습니까?

  12. 12

    push_back ()으로 객체를 인스턴스화 할 때 객체 생성자에 포인터를 어떻게 전달할 수 있습니까?

  13. 13

    객체의 다른 클래스에 인스턴스 생성

  14. 14

    클래스 유형이 변수에 저장 될 때 클래스의 인스턴스를 어떻게 생성합니까?

  15. 15

    파이썬의 클래스 함수에서 객체 인스턴스 삭제

  16. 16

    포인터 초기화에 의해 객체의 인스턴스가 생성 될 때 std :: string 속성이 비어있는 이유

  17. 17

    구체적 유형으로 객체를 인스턴스화 할 때 변수에 제네릭 유형을 사용할 수없는 이유는 무엇입니까?

  18. 18

    C # 클래스에 이미지 및 색상 속성이있을 때 어떤 종류의 디자인 패턴을 사용해야합니까?

  19. 19

    함수의 클래스가 NSObject에서 상속되지 않을 때 ObjC에서 신속한 인스턴스 함수를 호출합니다.

  20. 20

    HPC 클러스터에서 Dask LocalCluster의 인스턴스를 만들 때 SLURM 작업이 실패 함

  21. 21

    클래스의 객체에 정수 값을 할당 할 때 매개 변수화 된 생성자가 호출되는 이유는 무엇입니까?

  22. 22

    객체를 생성 할 때 객체 클래스에서 일부 코드를 어떻게 실행합니까?

  23. 23

    std :: vector에서 변수를 생성하지 않고 객체를 참조하면 해당 객체의 새 인스턴스가 생성됩니까?

  24. 24

    파이썬에서 클래스를 인스턴스화 할 때 인스턴스 속성을 참조 할 수 있습니까?

  25. 25

    이 객체의 클래스에있을 때 창 객체에서 JavaFx 제거

  26. 26

    왜 파이썬의 클래스 객체에서 개인 함수를 상속받을 수 있습니까?

  27. 27

    함수형 프로그래밍 인스턴스 메서드에 대한 일부 책에서는 동반 객체에 정의 된 이진 함수에 위임합니다. 그 뒤에 실용적인 이유가 있습니까?

  28. 28

    Python에서 개체 인스턴스화 중에 생성자 매개 변수 변수 이름을 사용합니까?

  29. 29

    인스턴스화 된 객체없이 비 정적 멤버 함수에 액세스합니까?

뜨겁다태그

보관