Git viewing holonet/common / f8225067405b732936bf230aef7e667b626f10a5


Filter

f8225067405b732936bf230aef7e667b626f10a5

Matthias Lantsch(2 weeks ago)

Implement array_head function to peek into the first element of an array

Browse Files
  • Changed file functions.php
    diff --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);