Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:组合数组并获得最小值?_Php_Arrays - Fatal编程技术网

PHP:组合数组并获得最小值?

PHP:组合数组并获得最小值?,php,arrays,Php,Arrays,我有一个数组,如下所示: Array ( [0] => 26 [1] => 644 ) Array ( [0] => 20 [1] => 26 [2] => 644 ) Array ( [0] => 26 ) Array ( [0] => 47 ) Array ( [0] => 47 [1] => 3 [2] => 18 ) Array ( [0]

我有一个数组,如下所示:

Array
(
    [0] => 26
    [1] => 644
)
Array
(
    [0] => 20
    [1] => 26
    [2] => 644
)
Array
(
    [0] => 26
)
Array
(
    [0] => 47
)
Array
(
    [0] => 47
    [1] => 3
    [2] => 18
)
Array
(
    [0] => 26
    [1] => 18
)
Array
(
    [0] => 26
    [1] => 644
    [2] => 24
    [3] => 181
    [4] => 8
    [5] => 6
    [6] => 41
    [7] => 31
)
Array
(
    [0] => 26
    [1] => 644
    [2] => 24
    [3] => 181
    [4] => 12
    [5] => 25
    [6] => 41
    [7] => 31
)
Array
(
    [0] => 181
)
Array
(
    [0] => 181
)
Array
(
    [0] => 899
)
我需要将所有这些数组合并到一个数组中,这样我就可以得到最小的数目(在本例中是3)。我尝试使用join($array),但是它只返回一个字符串,我无法用它来确定最小的数字。min($array)只返回每个数组的最小数目。 我不确定我要找的是什么,所以我希望有人能帮助我

简单的一个:

$array = [[26, 18], [3], [47, 3], [4, 47, 18], [20, 26, 644]];
echo min(array_merge(...$array));

Splat操作符
..
将所有子数组作为参数合并到
数组_merge
,然后将所有子数组合并到一个,标准php函数
min
查找此数组中的最小元素。

通过将min函数应用于每个子数组来变换初始数组。然后将有一个最小值数组。然后,您可以对整个阵列应用min函数,以找到最小值的最小值:

<?php
$min_ar = array_map('min', $array);
echo min($min_ar)

this返回:26202647318612186186899Oh,我的PHP版本似乎不是最新的在最后一个数组示例上使用array_merge和find min:$a1=array(“红色”、“绿色”)$a2=阵列(“蓝色”、“黄色”);打印(数组合并($a1,$a2));对于您将来的问题,请使用
var\u export()
而不是
var\u dump()
,以便我们可以复制/粘贴阵列以进行测试