Php 警告:in_array()[function.in array]:第二个参数问题的数据类型错误

Php 警告:in_array()[function.in array]:第二个参数问题的数据类型错误,php,arrays,types,Php,Arrays,Types,如果有人能帮忙,我们将不胜感激。我的代码中出现错误数据类型错误,但看不出问题所在: 它特别告诉我代码686(带asterix)的行有故障……如果您能提供任何帮助,我们将不胜感激: private function breakTie($data,$field,$all_horses) { $criteria=array(); foreach($data as $horse) { array_push($criteria,$horse[$field]);

如果有人能帮忙,我们将不胜感激。我的代码中出现错误数据类型错误,但看不出问题所在:

它特别告诉我代码686(带asterix)的行有故障……如果您能提供任何帮助,我们将不胜感激:

private function breakTie($data,$field,$all_horses)
{
    $criteria=array();
    foreach($data as $horse)
    {
        array_push($criteria,$horse[$field]);
    }

    $max=max($criteria);
    $horses=array();

    foreach($data as $horse=>$horseData)
    {
        if($horseData[$field]==$max)
        {
            $horses=array();
        **  if(in_array($horse,$all_horses)) **
            {
                array_push($horses,$horse);
            }
        }
    }

    return $horses;
}

也许你应该把你的语言作为一个标记。代码本身没有任何问题,但是你的数据有问题。也许你应该检查你从
$all\u horses
中得到的数据,因为它应该是一个数组。在数组中使用
之前,只需使用
is\u数组