Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php确定数组键相对于另一个键的位置_Php_Arrays_Position - Fatal编程技术网

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

php确定数组键相对于另一个键的位置,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

我想知道是否有可能确定数组中一个键相对于另一个键的位置。我有一个大的多维数组,当[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
    )

似乎您可以这样做:

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
}

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

我不确定关联数组是否是连续的,但可能是错误的。。。