繁体   English   中英

如何在 PHP 中从多维数组中找到 2 个最小数字行和列

[英]How To Find 2 Minimum Numbers Row and Column From Array Multidimensional in PHP

我在 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>";

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

$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);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM