在数组[key]中搜索除1以外的任何整数


Search an array[key] for any integer but one

我目前在搜索答案时遇到了困难,但是我有一个包含与锦标赛相关信息的数组,如下所示。

我想通过这个数组数组搜索特定的对手键,并确定它们是否都是-2。这是因为逻辑是-2是bye,所以如果所有人都有-2作为对手,这意味着所有的括号都结束了。

我最初的想法只是做一个array_search(!(-2), $anArray),但这显然没有工作,我打了自己的头,以为这将是那么容易,哈哈。谢谢。

,

Array ( 
    [0] => Array ( [dId] => 11 [uId] => 3 [id] => 1 [round] => 0 [opponent] => 3 [bracket] => 0 )
    [1] => Array ( [dId] => 11 [uId] => 5 [id] => 2 [round] => 0 [opponent] => -2 [bracket] => 1 )
    [2] => Array ( [dId] => 11 [uId] => 10 [id] => 3 [round] => 0 [opponent] => 1 [bracket] => 0 ) )

如果所有对手都是-2则返回true,如果只有一个对手则返回false != -2:

function all_opponent_search($arr){
    for($i = 0; $i < count($arr); $i++)
        if($arr[$i]['opponent'] != -2)
            return false;
    return true;
}

如何:

foreach ($masterArray as $subArray) {
    if (isset($subArray['opponent']) && ($subArray['opponent'] == -2)) {
        // do whatever you need
    }
}