문제

사용자 정의 클래스의 객체가있는 것으로 가정합니다. PHP에서 어레이의 요소를 어떻게 추출하는지 알고 싶었습니다.

// class definition
class User
{
public $fname;
public $lname;
}

// array of objects of the class defined above
$objUser1 = new User():
$objUser2 = new User():
$objUser3 = new User():
$objUser4 = new User():

$alUser = array();
$alUser[] = $objUser1;
$alUser[] = $objUser2;
$alUser[] = $objUser3;
$alUser[] = $objUser4;


// trying to iterate and extract values using typcasting - this does not work, what is the alternative.
foreach($alUser as $user)
{
$obj = (User) $user; // gives error - unexpected $user;
}

그것이 내가 Java Arraylist에서 물체를 추출하면서 Java에서했던 방식으로 PHP 방식이 비슷할 수 있다고 생각했습니다. 누구든지 설명 할 수 있습니다.

도움이 되었습니까?

해결책

foreach ($alUser as $user) {
    $obj = $user;
}

왜 이것을 위해 타입 캐스팅이 필요한가요?

다른 팁

PHP는 동적으로 입력 한 언어입니다. 대부분의 경우 캐스트 할 필요가 없습니다.

사용자에게 캐스트하는 것은 불가능합니다. PHP의 문서를 참조하십시오. 저글링 및 캐스팅을 입력하십시오.

이 예제는 인쇄 할 것입니다 "$user is a object (User)" 네번.

foreach($alUser as $user) {
    echo '$user is a ' . get_type($user);

    if(is_object($user)) {
        echo ' (' . get_class($user) . ')';

    echo "\n";
}

예를 들어 Eclipse PDT가 코드 완료를위한 객체 유형을 결정하는 것이 좋을 것입니다. 그렇지 않으면 배열이 생성 된 위치 및 배열에 어떤 개체를 넣은 다음 클래스 파일을보고 사용 가능한 기능을 확인하기 위해 클래스 파일을보고 (또는 TEMP가 사용할 수있는 메소드/속성을 확인하기 위해 새로운 theObject ()를 만듭니다. 많은 객체가 어떤 유형인지 알고 있습니다. 다른 시간에 많은 객체가 해당 배열과 객체를 생성하는 기능을 호출하는 경우 쉽지 않을 수 있으므로 배열이 어떻게 만들어 졌는지 확인해야합니다). 다른 IDE가 PHPED처럼 유형을 더 잘 결정할 수 있다고 들었습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top