Geliştirirken sık sık rastlamak desen biri bir diziye nesneler koleksiyonundan bir sütun / öznitelik değeri toplamaya çalışıyor. Örneğin:
$ids = array();
foreach ($documents as $document) {
$ids[] = $document->name;
}
Ben bu işe çalışır tek ben miyim? Ve PHP az hatları bu çözmek için bir yol var mı? Ben baktım ama bir şey buldum.
MVC framework kullanmak beri ben gerçekten belirli sınıflara sığmayan ortak fonksiyonları içeren bir BaseUtil sınıfa erişebilirsiniz. Bir işçi tarafından önerilen tek çözüm:
class BaseUtil
{
public static function collect($collection, $property) {
$values = array();
foreach ($collection as $item) {
$values[] = $item->{$property};
}
return $values;
}
}
Sonra ben sadece yapabilirsiniz:
$ids = BaseUtil::collect($documents, 'name');
Fena değil. Başkasının başka fikirleri var? Ve ben deliyim ya da bu PHP uzun zaman önce çözülmüş olması gereken bir sorun gibi görünüyor?