php确定数组键相对于另一个键的位置

时间:2011-03-08 19:01:01

标签: php arrays position

我想知道是否有可能确定数组中某个键与另一个键相关的位置。我有一个大的多维数组,当键[E14_21]出现在[E14_20]之前我需要执行功能A,如果不是我需要执行不同的功能B ...

//perform Function A if:
[E14_20_0] => Array
    (
        [E14_21] => 3235
        [E14_20] => 96
    )
//Perform Function B if:
[E14_20_0] => Array
    (
        [E14_20] => 96
        [E14_21] => 3235
    )

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

$keys = array_keys($E14_20_0);
if(array_search("E14_21", $keys) < array_search("E14_20", $keys)) {
  // function A
} else {
  // function B
}

您当然需要添加一些健全性检查以确保数组中存在两个密钥等。

答案 1 :(得分:1)

看来你可能会这样做:

reset($E14_20_0);
first = each($E14_20_0);
second = each($E14_20_0);

if(first['key'] > second['key'])
{
    //do something
}

这非常特定于您的示例,但它可能会帮助您入门。

reset()会将数组指针重置为“first”元素。 each()根据指针返回数组的键和值,并使指针前进。然后你可以比较键并执行你的逻辑。