【发布时间】:2019-01-05 01:54:55
【问题描述】:
你好,我是 php 新手,我的代码有些问题
此消息错误
消息:max():当只给一个参数时,它必须是一个数组
对于 sum(value) 我没有问题。正如你在这张图片上看到的那样。 Image 1
但是,当我尝试获取最大值时,却得到了这样的错误。 image2 error message
这是我的错误脚本(用于查找最大值)
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]);
}
}
这是我查找总和(值)的好脚本
for ($i=0;$i<count($kriteria);$i++)
{
$pembagi[$i] = 0;
for ($j=0;$j<count($alternatif);$j++)
{
$pembagi[$i] = $pembagi[$i] + ($alternatifkriteria[$j][$i]);
}
}
有人可以帮助我吗?我需要得到最大值(值) 喜欢这张图片 results
这是我的数组
$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
);
【问题讨论】:
-
看起来
$alternatifkriteria[$j][$i]不是数组,而是数组中的单个值。您是否试图找到整个数组中所有值的最大值?还是每行或每列中的最大值?当只传递一个参数时,max函数需要一个数组作为它的第一个参数(只找到一个奇异值的最大值没有多大意义)。 -
如果您只传递一个特定值作为参数,您期望
max()返回什么? php 解释当一个参数传递时,它应该是一个数组来查找最大元素。你有其他意见吗? -
@Nathan 我需要找到每列的最大值。我只是添加了我想要的结果。查看最新更新
-
@Alex 最重要的一点是如何获得最大值,我很困惑。
-
提供您的阵列样本和预期结果值或输出
标签: php