diff options
author | Andrew Dolgov <[email protected]> | 2022-07-31 13:55:09 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2022-07-31 13:55:09 +0300 |
commit | 26c67dba776e1e6f8ac40eed70fe79995325863d (patch) | |
tree | 862b043fa666e44ed0b2c997a98b1a256b26ee12 /vendor/thecodingmachine/safe/deprecated | |
parent | d5c043e8467881c00b2cd836f2f37b8479cf0b96 (diff) |
update phpstan to 1.8.2
Diffstat (limited to 'vendor/thecodingmachine/safe/deprecated')
-rw-r--r-- | vendor/thecodingmachine/safe/deprecated/array.php | 73 | ||||
-rw-r--r-- | vendor/thecodingmachine/safe/deprecated/functionsList.php | 2 |
2 files changed, 75 insertions, 0 deletions
diff --git a/vendor/thecodingmachine/safe/deprecated/array.php b/vendor/thecodingmachine/safe/deprecated/array.php index f0b3a20b7..691ea7394 100644 --- a/vendor/thecodingmachine/safe/deprecated/array.php +++ b/vendor/thecodingmachine/safe/deprecated/array.php @@ -5,6 +5,79 @@ namespace Safe; use Safe\Exceptions\ArrayException; /** + * array_replace_recursive replaces the values of + * array with the same values from all the following + * arrays. If a key from the first array exists in the second array, its value + * will be replaced by the value from the second array. If the key exists in the + * second array, and not the first, it will be created in the first array. + * If a key only exists in the first array, it will be left as is. + * If several arrays are passed for replacement, they will be processed + * in order, the later array overwriting the previous values. + * + * array_replace_recursive is recursive : it will recurse into + * arrays and apply the same process to the inner value. + * + * When the value in the first array is scalar, it will be replaced + * by the value in the second array, may it be scalar or array. + * When the value in the first array and the second array + * are both arrays, array_replace_recursive will replace + * their respective value recursively. + * + * @param array $array The array in which elements are replaced. + * @param array $replacements Arrays from which elements will be extracted. + * @return array Returns an array. + * @throws ArrayException + * + */ +function array_replace_recursive(array $array, array ...$replacements): array +{ + error_clear_last(); + if ($replacements !== []) { + $result = \array_replace_recursive($array, ...$replacements); + } else { + $result = \array_replace_recursive($array); + } + if ($result === null) { + throw ArrayException::createFromPhpError(); + } + return $result; +} + +/** + * array_replace replaces the values of + * array with values having the same keys in each of the following + * arrays. If a key from the first array exists in the second array, its value + * will be replaced by the value from the second array. If the key exists in the + * second array, and not the first, it will be created in the first array. + * If a key only exists in the first array, it will be left as is. + * If several arrays are passed for replacement, they will be processed + * in order, the later arrays overwriting the previous values. + * + * array_replace is not recursive : it will replace + * values in the first array by whatever type is in the second array. + * + * @param array $array The array in which elements are replaced. + * @param array $replacements Arrays from which elements will be extracted. + * Values from later arrays overwrite the previous values. + * @return array Returns an array. + * @throws ArrayException + * + */ +function array_replace(array $array, array ...$replacements): array +{ + error_clear_last(); + if ($replacements !== []) { + $result = \array_replace($array, ...$replacements); + } else { + $result = \array_replace($array); + } + if ($result === null) { + throw ArrayException::createFromPhpError(); + } + return $result; +} + +/** * array_flip returns an array in flip * order, i.e. keys from array become values and values * from array become keys. diff --git a/vendor/thecodingmachine/safe/deprecated/functionsList.php b/vendor/thecodingmachine/safe/deprecated/functionsList.php index 6b39199c8..b75d7abb2 100644 --- a/vendor/thecodingmachine/safe/deprecated/functionsList.php +++ b/vendor/thecodingmachine/safe/deprecated/functionsList.php @@ -12,6 +12,8 @@ return [ 'apc_load_constants', 'apc_sma_info', 'arsort', + 'array_replace', + 'array_replace_recursive', 'array_combine', 'array_flip', 'asort', |