本文整理汇总了PHP中Illuminate\Support\Arr::merge_distinct方法的典型用法代码示例。如果您正苦于以下问题:PHP Arr::merge_distinct方法的具体用法?PHP Arr::merge_distinct怎么用?PHP Arr::merge_distinct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Support\Arr
的用法示例。
在下文中一共展示了Arr::merge_distinct方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: function
* @author Daniel <daniel (at) danielsmedegaardbuus (dot) dk>
* @author Gabriel Sobrinho <gabriel (dot) sobrinho (at) gmail (dot) com>
*/
Arr::macro('merge_distinct', function (array $array1, array $array2) {
$merged = $array1;
foreach ($array2 as $key => &$value) {
if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
$merged[$key] = Arr::merge_distinct($merged[$key], $value);
} else {
$merged[$key] = $value;
}
}
return $merged;
});
/**
* Combination of array_merge and array_merge_recursive, does merge news keys into an existing array, but
* overrides values instead of creating arrays from duplicate values.
*
* this is the splat version of Arr::merge_distinct which can only handle two input arrays.
*
* @return array
*/
Arr::macro('merge', function () {
$result = [];
$args = func_get_args();
$args_limit = func_num_args();
for ($i = 0; $i < $args_limit; $i++) {
$result = Arr::merge_distinct($result, $args[$i]);
}
return $result;
});