多维数组中的快速搜索方法

时间:2016-10-05 10:15:04

标签: php arrays multidimensional-array binary-search-tree

enter image description here

上面的搜索我希望用最少的代码和最好的搜索性能。

我想通过放置逻辑来生成上面数组中的数组: 所有" EMA"不应允许数组的键值与" JACKSON"匹配。关键价值观。 同样所有" JACKSON"不允许同一数组的键值落入" EMA"的任何值。键。因此得到的数组如下所示:

Array
(
    [0] => Array
        (
            [EMA] => A
            [JACKSON] => B
        )

    [2] => Array
        (
            [EMA] => D
            [JACKSON] => E
        )
)

我想知道使用较少代码实现此目的的最佳方法。我用过的方法看起来很冗长。我想要一种更短更健壮的方法。

1 个答案:

答案 0 :(得分:0)

我认为这可能是一个解决方案:

$emas = array();
$jacksons = array();
foreach($array as $element){
    $emas[] = $element['EMA'];
    $jacksons[] = $element['JACKSON'];
}
//array_intersect returns the common values in the arrays as an array
if(!empty(array_intersect($emas, $jacksons))){
    echo 'array is invalid!';
}