2011-03-08 85 views
1

我想知道是否可以确定阵列中键的位置与另一个键的关系。我有一个大的多维数组,我需要进行功能A当钥匙[E14_21]到来之前[E14_20],我需要执行不同的功能B如果不是......php确定阵列键相对于另一个键的位置

//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 
    ) 
+0

我不知道该关联数组是连续的,可能是错误的,但... – jondavidjohn 2011-03-08 19:04:00

回答

2

你可以这样做:

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

当然,你需要添加一些完整性检查,以确保在阵列中存在两个键等

1

看来你可以这样做:

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

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

这对您的示例非常具体,但它可能有助于您入门。

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

相关问题