0

我在 PHP 中有一个多维数组,如下所示

$tabel = array(
             array(8,10,9),
             array(10,8,3)
         );

我想从该数组中按行和列找​​到 2 个最小数字。

在它之前,我只需要从没有数组多维计算,代码如下

<?php
    $baris1 = array(8,16,20,10,10);
    $n1 = $n2 = 1000 ; 
    $m1 = $m2 = -1 ;
    for ($i = 0 ; $i < count($array); $i++) {
            $x = $array[$i] ;      
            if ($x <= $n1){
                $n2 = $n1 ;            
                $n1 = $x ;
            } elseif ($x < $n2){
                $n2 = $x;
            }
    }
    echo "Min Number = $n1 $n2<br>";
4

1 回答 1

0

一种简单的方法是将它们全部合并到一个数组中。

$all = array_merge(...$tabel);

// or for PHP < 5.6
// $all = call_user_func_array('array_merge', $tabel);

然后你可以对其进行排序并取前两个值。

sort($all);
$min_two = array_slice($all, 0, 2);

对于您的输入示例 where $tabel = [[8,10,9], [10,8,3]];,结果将是[3, 8]

于 2018-08-17T22:49:13.817 回答