php确定数组键相对于另一个键的位置
我想知道是否有可能确定数组中一个键相对于另一个键的位置。我有一个大的多维数组,当[E14_21]键位于[E14_20]之前时,我需要执行函数a,如果没有,我需要执行不同的函数Bphp确定数组键相对于另一个键的位置,php,arrays,position,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
//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
)
似乎您可以这样做:
reset($E14_20_0);
first = each($E14_20_0);
second = each($E14_20_0);
if(first['key'] > second['key'])
{
//do something
}
这对于您的示例非常具体,但它可能会帮助您开始
将重置指向“第一个”元素的数组指针。基于指针返回数组的键和值,并前进指针。然后,您可以比较键并执行逻辑。您可以执行以下操作:
$keys = array_keys($E14_20_0);
if(array_search("E14_21", $keys) < array_search("E14_20", $keys)) {
// function A
} else {
// function B
}
$keys=数组密钥($E14\u 20\u 0);
if(数组搜索(“E14\u 21”,$keys)<数组搜索(“E14\u 20”,$keys)){
//功能A
}否则{
//功能B
}
当然,您需要添加一些健全性检查,以确保数组中存在两个键等。我不确定关联数组是否是连续的,但可能是错误的。。。