合并PHP数组';它的价值最高

合并PHP数组';它的价值最高,php,arrays,Php,Arrays,我有这三个子数组,我想制作一个 在每个数组中搜索最大值,并放置其键 进入另一个数组,以创建键/键值的新数组 编辑 我正在查看所有0,然后是所有1,然后是所有2,以找到其中的最高值。我想总是从一直以来最高的数字开始,然后在钥匙不可用时移到最小的数字 输入将是这样的 Array ( Array ( [0] => 16 [1] => 27 [2] => 36 // highest, 2 is now unavaila

我有这三个子数组,我想制作一个 在每个数组中搜索最大值,并放置其键 进入另一个数组,以创建键/键值的新数组

编辑 我正在查看所有0,然后是所有1,然后是所有2,以找到其中的最高值。我想总是从一直以来最高的数字开始,然后在钥匙不可用时移到最小的数字

输入将是这样的

Array
(
    Array
    (
        [0] => 16 
        [1] => 27 
        [2] => 36 // highest, 2 is now unavailable
    )
    Array
    (
        [0] => 27
        [1] => 13.5  // highest, 1 is now unavailable
        [2] => 9 
    )
    Array
    (
        [0] => 81 // highest, 0 is now unavailable
        [1] => 18
        [2] => 27 
    )
)
Array
(
    [0] => [2]
    [1] => [1]
    [2] => [0]
)
输出将是这样的

Array
(
    Array
    (
        [0] => 16 
        [1] => 27 
        [2] => 36 // highest, 2 is now unavailable
    )
    Array
    (
        [0] => 27
        [1] => 13.5  // highest, 1 is now unavailable
        [2] => 9 
    )
    Array
    (
        [0] => 81 // highest, 0 is now unavailable
        [1] => 18
        [2] => 27 
    )
)
Array
(
    [0] => [2]
    [1] => [1]
    [2] => [0]
)

如果我没弄错的话,应该用这些方法:

$result = array();

foreach ($array as $numbers) {
    $highestKey = null;
    $highestNum = null;

    foreach ($numbers as $key => $value) {
        if ($value > $highestNum && !in_array($key, $result)) {
            list($highestKey, $highestNum) = array($key, $value);
        }
    }

    $result[] = $highestKey;
}

26?我正在查看所有0,然后是所有1,然后是所有2,以找到其中的最高值。我想总是从一直以来最高的数字开始,然后在钥匙不可用时移到最小的数字对不起,我把代码弄错了。81是有史以来最大的数字,所以我从中取键[0],从包含它的数组中取键[2]。我接着说下一个最高的数字是36。我从[2]中取出密钥,然后从其父级[0]中取出密钥,然后继续。我的一个大问题是,与子数组相比,数组的数量可能并不总是相同的。可能有四个子数组,只有父数组,反之亦然。在这种情况下,我只想在其他子数组不足之前尽可能多地填充。我们可以假设所有子数组的长度都相同吗?为什么不自己编写一些代码并告诉我们为什么它是错误的?老兄,不要太苛刻了。。。但是,在接触任何代码之前,您确实需要对问题进行提炼和理解。这也是一个数据结构问题(比如)。@imoda我认为您错过了“密钥变得不可用”规则。deceze,代码生成了意外数据。你可以看到这里的代码,这里的结果@deceze我很抱歉,我真的试图解释这比我的工作解释给我更好。我同意这没有什么意义。有人向我解释说,我正在查找每个子数组中有史以来最高的数字。我获取保存该数字的键并保存它,然后查找下一个,以此类推。我获取最上面的父数组键并将其与我保存的键相关联。所以每次我遇到剩下的最大数字时,我几乎都会删除它,获取它的键并将其与父项关联。这有什么意义吗?对不起,我还有一周的时间来上这门课,我不是OO程序员。我准备给他们回电话,说这是不可能的…@ehime首先用笔和纸来解决这个问题,让自己明白你想做什么,肯定是个好主意。如有必要,与客户确认。