0

合格latitudelongitudeて負の値になると、このエラーが発生します。正の値を渡したときに正しく機能します。そのための解決策が必要です。

エラー:

1.Warning: array_intersect(): Argument #2 is not an array in C:\wamp\www\#\#.php on line 41
2.Warning: array_keys() expects parameter 1 to be array, null given in C:\wamp\www\#\#.php on line 42


$aaa=0;
$e=0;
$s=0;
$query1=mysql_query("select * from user_details where username!='$a' and availablestatus='1' and status='1'");
    while($row=mysql_fetch_array($query1))
    {
        $q[$e++]=$row['id'];
        $m=$row['username'];
        $k=$row['latitude'];
        $l=$row['longitude'];
        $aa[$aaa++]=1609.344 * 60 * 1.1515 * (180 / pi()) * acos(sin($i * pi() / 180) * sin($k * pi() / 180) + cos($i * pi() / 180) * cos($k * pi() / 180) * cos(($j - $l) * pi() / 180));

    }
    $res=array_combine($q,$aa);
    foreach($res as $val)
    {
        if($val>='0' && $val<='10000')
        {
            $ah[$s++]=$val;
        }
    }
    $rs=array_intersect($res,$ah);
    $rs1=array_keys($rs);
4

1 に答える 1

0

問題は if($val>='0' && $val<='10000')、正の値のみを許可することです。

これが意図された動作である場合は、$ah=array();前に定義してくださいforeach($res as $val)

于 2013-01-05T04:54:48.743 に答える