最大值必须在数组中

冒险奇妙

你好,我是 php 新手,我的代码有一些问题

此消息错误

消息:max():当只给出一个参数时,它必须是一个数组

对于 sum(value) 我没有问题。正如你在这张图片上看到的那样。图 1

但是,当我试图获得最大值时,却得到了这样的错误。image2 错误信息

这是我的错误脚本(用于查找最大值)

for ($i=0;$i<count($kriteria);$i++)
   {
      $pembagi[$i] = 0;
         for ($j=0;$j<count($alternatif);$j++)
            {
               $pembagi[$i] = $pembagi[$i] + max($alternatifkriteria[$j][$i]);
            }
    }

这是我查找 sum(value) 的好脚本

 for ($i=0;$i<count($kriteria);$i++)
    {
       $pembagi[$i] = 0;
          for ($j=0;$j<count($alternatif);$j++)
             {
                $pembagi[$i] = $pembagi[$i] + ($alternatifkriteria[$j][$i]);
             }
     }

有人能帮我吗?我需要像这个图像结果一样获得最大值(值)

这是我的阵列

$kriteria = [C1,C2,C3,C4,C5,C6];
$alternatif = [ALT1,ALT2,ALT,ALT4,ALT5,ALT6,ALT7];
arrayValue = (
[ALT1][C1] = 5
[ALT1][C2] = 1
[ALT1][C3] = 5
[ALT1][C4] = 2
[ALT1][C5] = 1
[ALT1][C6] = 5
[ALT2][C1] = 2
[ALT2][C2] = 4
[ALT2][C3] = 2
[ALT2][C4] = 5
[ALT2][C5] = 4
[ALT2][C6] = 4
[ALT3][C1] = 1
[ALT3][C2] = 4
[ALT3][C3] = 2
[ALT3][C4] = 5
[ALT3][C5] = 2
[ALT3][C6] = 4
[ALT4][C1] = 2
[ALT4][C2] = 4
[ALT4][C3] = 4
[ALT4][C4] = 5
[ALT4][C5] = 4
[ALT4][C6] = 2
[ALT5][C1] = 5
[ALT5][C2] = 4
[ALT5][C3] = 4
[ALT5][C4] = 1
[ALT5][C5] = 2
[ALT5][C6] = 4
[ALT6][C1] = 4
[ALT6][C2] = 4
[ALT6][C3] = 2
[ALT6][C4] = 5
[ALT6][C5] = 2
[ALT6][C6] = 4
[ALT7][C1] = 4
[ALT7][C2] = 2
[ALT7][C3] = 2
[ALT7][C4] = 5
[ALT7][C5] = 2
[ALT7][C6] = 1
);
缺口

您只需要在max计算中包含现有值

for ($i=0;$i<count($kriteria);$i++)
   {
      $pembagi[$i] = 0;
         for ($j=0;$j<count($alternatif);$j++)
            {
               $pembagi[$i] = max($pembagi[$i], $alternatifkriteria[$j][$i]);
            }
    }

更新

执行此操作的另一种方法是转置数组(使用此处array_map所述),然后您可以使用获取每个的总和和最大值array_summax$kriteria

// get the values with numeric keys...
$akv = array_values($alternatifkriteria);
// so we can unpack them to transpose the array...
$akt = array_map(null, ...$akv);
// now we can just sum and take the max of each column
$sums = array_map(function ($v) { return array_sum($v); }, $akt);
$maxs = array_map(function ($v) { return max($v); }, $akt);
print_r($sums);
print_r($maxs);

输出:

Array ( [0] => 23 [1] => 23 [2] => 21 [3] => 28 [4] => 17 [5] => 24 )
Array ( [0] => 5  [1] => 4  [2] => 5  [3] => 5  [4] => 4  [5] => 5 )

3v4l.org 上的演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用NumPy在数组中查找最大值的索引

来自分类Dev

Excel公式在数组中查找最大值

来自分类Dev

使用JavaScript函数在数组中查找最大值

来自分类Dev

在数组中查找列的最大值

来自分类Dev

在数组中寻找某个最大值

来自分类Dev

在数组中查找最小值和最大值的有效方法

来自分类Dev

在数组C ++中查找最小值/最大值的索引

来自分类Dev

在数组Javascript中查找最小值和最大值

来自分类Dev

Java –在数组中查找最小值和最大值

来自分类Dev

在数组中查找最小值和最大值

来自分类Dev

如何使用递归在 Python 中实现“在数组中查找最大值”?

来自分类Dev

类型脚本:对象的类型安全性必须在数组值中具有所有键

来自分类Dev

使用分叉和管道在数组中搜索最大值

来自分类Dev

php:仅将最大值保留在数组中?

来自分类Dev

Shell脚本-如何在数组中返回最大值?

来自分类Dev

如何在数组对象中查找参数的最大值?

来自分类Dev

在PHP中使用递归在数组中查找最大值

来自分类Dev

如何在数组中查找最大值,包括数字

来自分类Dev

MATLAB:在数组数据的每个间隔中查找最大值?

来自分类Dev

Java:最大值出现在数组中的次数

来自分类Dev

在数组中寻找最大值;在 Java 中使用四个线程

来自分类Dev

如何在数组中找到最大值

来自分类Dev

数组中的最大值(StdClass错误)

来自分类Dev

计算数组中的最大值

来自分类Dev

在numpy数组中传播最大值

来自分类Dev

PHP中数组的最大值

来自分类Dev

如何显示数组中的最大值

来自分类Dev

使用OpenMP的数组中的最大值

来自分类Dev

列表数组中的最大值