Иногда мне приходится сортировать некоторые объекты, группируя их по нескольким значениям. Обычно я выполняю это путем объединения значений вместе с подчеркиванием или другим разделителем между ними, а затем использую это как индекс массива.
// group all objects with a common parent_id, date, and type
foreach ($objects as $obj) {
$hash = $obj->parent_id . '_' . $obj->date . '_' . $obj->type;
$sorted_objects[$hash][] = $obj;
}
... Ик! Должен быть лучший способ, чем злоупотреблять произвольной типизацией PHP и конкатенацией строк. Есть ли способ выполнить хэш для нескольких значений? Кажется, я должен быть в состоянии сделать что-то вроде этого:
$hash = sha1_multiple($obj->parent-id, $obj->date, $obj->type);
Я уже использую лучший метод или есть лучший способ?