$key) || !isset($b->$key)) { $errorMsg = 'The key "' . $key . '" does not exist in the collection'; throw new Exception($errorMsg); } $item1 = !$isCaseSensitive ? strtolower($a->$key) : $a->$key; $item2 = !$isCaseSensitive ? strtolower($b->$key) : $b->$key; } } while ($item1 === $item2 && !empty($keys[++$pos])); if ($item1 === $item2) { return 0; } elseif ($order === self::ORDER_ASC) { return ($item1 < $item2) ? -1 : 1; } else { return ($item1 > $item2) ? -1 : 1; } }); } catch (Exception $e) { echo $e->getMessage(); die(); } } return $collection; } }