0

我正在做一个项目,我无法专注于需要在多维数组上完成的计算。快速背景,这是一个酒店基准测试工具,我需要计算市场渗透指数 (MPI)。我有一个包含 3 个主数组的数组。前 2 个是要比较的酒店,最后一个是 MPI 数组。

每个数组包含用户选择的每个月的数组。在那个数组里面是需要用于计算的数据。这是一个例子:

Array
(
 [Competitive set] => Array
    (
        [Sep 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-09-01
                        [maxmonth] => 2011-09-01
                        [nrcheck] => 13
                        [data] => 67.6
                    )

            )

        [Oct 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-10-01
                        [maxmonth] => 2011-10-01
                        [nrcheck] => 13
                        [data] => 63.6
                    )

            )

        [Nov 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-11-01
                        [maxmonth] => 2011-11-01
                        [nrcheck] => 13
                        [data] => 59.2
                    )

            )

        [Dec 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-12-01
                        [maxmonth] => 2011-12-01
                        [nrcheck] => 13
                        [data] => 54.6
                    )

            )

    )

[Test] => Array
    (
        [Sep 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-09-01
                        [maxmonth] => 2011-09-01
                        [nrcheck] => 89
                        [data] => 71.5
                    )

            )

        [Oct 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-10-01
                        [maxmonth] => 2011-10-01
                        [nrcheck] => 89
                        [data] => 67.0
                    )

            )

        [Nov 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-11-01
                        [maxmonth] => 2011-11-01
                        [nrcheck] => 91
                        [data] => 63.1
                    )

            )

        [Dec 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-12-01
                        [maxmonth] => 2011-12-01
                        [nrcheck] => 89
                        [data] => 57.5
                    )

            )

    )

[MPI] => Array
    (
        [Sep 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-09-01
                        [maxmonth] => 2011-09-01
                        [nrcheck] => 89
                        [data] => 71.5
                    )

            )

        [Oct 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-10-01
                        [maxmonth] => 2011-10-01
                        [nrcheck] => 89
                        [data] => 67.0
                    )

            )

        [Nov 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-11-01
                        [maxmonth] => 2011-11-01
                        [nrcheck] => 91
                        [data] => 63.1
                    )

            )

        [Dec 11] => Array
            (
                [0] => Array
                    (
                        [minmonth] => 2011-12-01
                        [maxmonth] => 2011-12-01
                        [nrcheck] => 89
                        [data] => 57.5
                    )

            )

    )

)

这是一个建议的带有 var_export 的 pastebin(似乎无法在此处正确格式化) http://pastebin.com/b8hYM7TW 抱歉,代码块很大,但它必须这么大=(无论哪种方式,目前都是“数据”因为 MPI 是错误的 那需要变成第一个数组的数据除以第二个数组的数据再乘以 100(百分比)。

“Competitive Set”和“Test”键是可变的,在我工作的范围内不可用,因此无法使用这些静态名称。

我读到了递归函数,但我仍然没有得到它......

4

1 回答 1

0

好吧,您提供的 pastebin 数组在“Dit hotel”数组中没有任何数据,所以我不能真正确认这是否有效,但是你去

foreach ($array['Dit hotel'] as $key => $value) {

    $array['MPI'][$key][0]['data'] = $value[0]['data'] / $array['Test'][$key][0]['data'] * 100;
}

http://codepad.org/m884GMPJ

于 2012-05-30T20:46:39.467 回答