Files

116 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2026-03-30 14:54:57 +07:00
<?php
namespace Safe;
use Safe\Exceptions\ArrayException;
/**
* @param array $array
2026-04-18 20:32:18 +07:00
* @param callable $callback
2026-03-30 14:54:57 +07:00
* @throws ArrayException
*
*/
function array_all(array $array, callable $callback): void
{
error_clear_last();
$safeResult = \array_all($array, $callback);
if ($safeResult === false) {
throw ArrayException::createFromPhpError();
}
}
/**
2026-04-18 20:32:18 +07:00
* @param array $keys
* @param array $values
* @return array
2026-03-30 14:54:57 +07:00
*
*/
function array_combine(array $keys, array $values): array
{
error_clear_last();
$safeResult = \array_combine($keys, $values);
return $safeResult;
}
/**
2026-04-18 20:32:18 +07:00
* @param array $array
* @return array
2026-03-30 14:54:57 +07:00
*
*/
function array_flip(array $array): array
{
error_clear_last();
$safeResult = \array_flip($array);
return $safeResult;
}
/**
2026-04-18 20:32:18 +07:00
* @param array $array
* @param array $replacements
* @return array
2026-03-30 14:54:57 +07:00
*
*/
function array_replace_recursive(array $array, array ...$replacements): array
{
error_clear_last();
if ($replacements !== []) {
$safeResult = \array_replace_recursive($array, ...$replacements);
} else {
$safeResult = \array_replace_recursive($array);
}
return $safeResult;
}
/**
2026-04-18 20:32:18 +07:00
* @param array $array
* @param array $replacements
* @return array
2026-03-30 14:54:57 +07:00
*
*/
function array_replace(array $array, array ...$replacements): array
{
error_clear_last();
if ($replacements !== []) {
$safeResult = \array_replace($array, ...$replacements);
} else {
$safeResult = \array_replace($array);
}
return $safeResult;
}
/**
2026-04-18 20:32:18 +07:00
* @param array|object $array
* @param callable $callback
* @param mixed $arg
* @return bool
2026-03-30 14:54:57 +07:00
*
*/
function array_walk_recursive(&$array, callable $callback, $arg = null): bool
{
error_clear_last();
if ($arg !== null) {
$safeResult = \array_walk_recursive($array, $callback, $arg);
} else {
$safeResult = \array_walk_recursive($array, $callback);
}
return $safeResult;
}
/**
2026-04-18 20:32:18 +07:00
* @param array $array
* @return bool
2026-03-30 14:54:57 +07:00
*
*/
function shuffle(array &$array): bool
{
error_clear_last();
$safeResult = \shuffle($array);
return $safeResult;
}