PHP 배열 추출 객체
문제
사용자 정의 클래스의 객체가있는 것으로 가정합니다. 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처럼 유형을 더 잘 결정할 수 있다고 들었습니까?
제휴하지 않습니다 StackOverflow