【发布时间】:2021-04-13 03:09:29
【问题描述】:
大家好。
对于 $arr_rgb(图 01)中的每个子数组,我必须找到: 如果 $key 编号为 1 的元素是此子数组中的最大编号,则返回 $key 编号 子阵列(图 03 和图 04。 到目前为止,我可以找到每个子数组的最大数字——图 02
在附图中解释了我遇到的“问题”。
以及我目前使用的代码:
<?php
$hex_splited = [
['00','00','00'],
['10', '11', '10'],
['F0', '1A', 'C3'],
['0F', 'FE', 'F4'],
];
$arr_rgb = [];
$count2 = count($hex_splited);
for ($i=0; $i < $count2; $i++) {
$inn_count = count($hex_splited[$i]);
for ($j=0; $j < $inn_count; $j++) {
$val = hexdec($hex_splited[$i][$j]);
$arr_rgb[$i][$j] = $val;
foreach ($arr_rgb as $key => $value) {
$resultMax[$key] = max($value);
}
}
}
echo "<pre>";
var_dump($resultMax);
echo "</pre>";
echo "<table border='1'>";
for ($m=0; $m < $count2; $m++) {
echo "<tr>";
for ($k=0; $k < $inn_count; $k++) {
echo "<td>";
echo $arr_rgb[$m][$k];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
【问题讨论】:
-
您是否可以通过存储您在第一个嵌套循环中找到的最大值的(行、列)对来完成,如果它的列值为 1,则返回/显示该对?跨度>
-
为什么输出只是
1, 3——第一个子数组呢?位置 1 处的值00也与那里所有值的最大值相同。 -
确切的输出与图片上的一样,但如果您有建议,他们也可以帮助我。
-
如果所有元素都相等,则不返回任何内容
-
“确切的输出是图片上的样子” - 你需要解释这样的东西背后的逻辑,而不仅仅是“as在这张图中”。否则,我会给你
function foo() { return [1, 3]; }并说,这满足你的要求:-P