Matthias Lantsch(2 weeks ago)
Implement array_head function to peek into the first element of an array
Browse Filesdiff --git a/6a41bb9182a57610b67e1625e16e609000d08824 b/3fcd057fcac649f8539289090ed68d9289fc05b0
index 6a41bb9..3fcd057 100644
--- a/6a41bb9182a57610b67e1625e16e609000d08824
+++ b/3fcd057fcac649f8539289090ed68d9289fc05b0
@@ -63,6 +63,28 @@ if (!function_exists(__NAMESPACE__.'\\read_php_config_file')) {
}
}
+if (!function_exists(__NAMESPACE__.'\\array_head')) {
+ function array_head(array $arr): mixed {
+ return reset($arr) ?: null;
+ }
+}
+
+if (!function_exists(__NAMESPACE__.'\\array_head_keys')) {
+ function array_head_keys(array $arr): ?array {
+ $head = array_head($arr);
+
+ if ($head === null) {
+ return null;
+ }
+
+ if (!is_array($head)) {
+ throw new InvalidArgumentException('Can only use array_head_keys on array of arrays');
+ }
+
+ return array_keys($head);
+ }
+}
+
if (!function_exists(__NAMESPACE__.'\\dot_key_set')) {
function dot_key_set(object|array &$position, string $key, mixed $value = null, string $separator = '.'): void {
$parts = explode($separator, $key);