배열과 같이 동작하는 개체 모음을 가진 개체가 있습니다. 그것은 데이터베이스 결과 객체입니다. 다음과 같은 예시 :PHP : ArrayAccess를 구현하는 객체 인 "배열"을 어떻게 정렬하고 필터링 할 수 있습니까?
$users = User::get();
foreach ($users as $user)
echo $user->name . "\n";
$users
변수 ArrayAccess
및 Countable
인터페이스를 구현하는 것을 목적으로한다.
,하지만 난 그것에 배열 기능을 사용할 수 없습니다
$users = User::get();
$users = array_filter($users, function($user) {return $user->source == "Twitter";});
=> Warning: array_filter() expects parameter 1 to be array, object given
어떻게 I 종류와 객체의 종류를 필터링 할 수 있습니다?
user :: get() 함수가 배열을 반환하지 않는 것 같습니다. 배열 – Vineet1982
을 반환합니다. 사용자 옵션에 "toArray"메서드를 구현하는 것이 가장 좋습니다. – Supericy
ArrayAccess 및 Countable이 모든 요소를 반복하는 데 충분하지 않은 경우에도 키를 알아야합니다. 필자의 의견으로는'User :: get()'을 조정하여 요청한 사용자 유형에 대한 추가 정보를 받아들이는 것이 길이다. 정렬 및 필터링과 같은 작업은 데이터 기반 작업이므로 데이터베이스에서 가장 잘 수행됩니다. – Niko