2011-03-08 86 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()根據指針返回數組的鍵和值,並使指針前進。然後你可以比較鍵和執行你的邏輯。

相關問題