【问题标题】:Get integer value/position for keys in the sub array of a multi-dimensional array获取多维数组的子数组中键的整数值/位置
【发布时间】:2013-06-14 04:37:41
【问题描述】:

我有一个多维数组,我试图为第二个数组(子数组)中的键输出一个整数值。

我的数组很基本,像这样:

$array = array(
    array(
        'a' => 'd',
        'b' => 'e',
        'c' => 'f'
    ),
    array(
        'a' => 'x',
        'b' => 'y',
        'c' => 'z'
    ),
);

所以当我为那个数组创建一个 foreach 时...

foreach ( $array as $array_key => $sub_array ) {
    foreach ( $sub_array as $key => $value ) {
        echo $key;
    }
}

我在子循环中输出$key,它只返回数组的键值,即a, b, c - a, b, c

我如何才能真正获得子数组中这些键值的整数值或位置?因此,对于数组中的每个分组,a 将是 1b 将是 2c 将是 3。然后它将重新开始数组中的下一个分组。

我尝试使用$int++;,但这适用于数组中的两个组,导致它从 1-6 变为 1-3,而不是 1-3、1-3 等。

array_keys 可以解决这个问题吗?一如既往,我们将不胜感激任何帮助!

【问题讨论】:

    标签: php multidimensional-array arrays


    【解决方案1】:

    试试这个代码。

    foreach ( $array as $array_key => $sub_array ) {
        $i = 1;
        foreach ( $sub_array as $key => $value ) {
            echo $i . ' - ' $key . '   ';
            $i++;
        }
    }
    

    这会给你一个预期的结果。

    1 - a  2 - b   3 - c  1 - a  2 - b   3 - c
    

    如果你使用下面的这段代码。

    $i = 1;
    foreach ( $array as $array_key => $sub_array ) {
        foreach ( $sub_array as $key => $value ) {
            echo $i . ' - ' $key . '   ';
            $i++;
        }
    }
    

    这是结果。

    1 - a  2 - b   3 - c  4 - a  5 - b   6 - c
    

    这是您遇到的输出,而不是您期望的输出。注意变量$i的位置。

    【讨论】:

    • 太棒了!感谢先生的帮助!像魅力一样工作。
    • 没想到你能做到,太棒了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多