1

正しい構文で再度呼び出したい再帰関数があります。その方法は? V: を保持する国であり、Col1 CountryName; という形式の場合、データベースにあります。col1 その都市に V: がない場合: 国内の地域に V: がある場合、この再帰は、データベースで 1 つの国にある都市を取得するまで実行する必要があります Country= V:area1, V:area2.. .Area1=City1 または別の V:area ant ということで、都市名にたどり着くまで..ここでこれまでに行ったことと私はよくわかりませんが、同じ関数を再度呼び出す方法がわかりません

   function recur($d,$rek,&$aeroPole1)
  {
if(substr_count( $d, 'V:'))
  {

    $aeroPole=preg_replace('"V:"','',$d); 

    $aeroPole=explode(",",$aeroPole);

    foreach($aeroPole as $ap)
    {
          $mysqliObj3 = new mysqli('localhost','usr','pass', 'trevo');
          $comand6="SELECT * FROM `CC` WHERE name='".$ap."';";  //  name='".$RuleD[0]."';";
          $QueryObj6 = $mysqliObj3->query($comand6, MYSQLI_USE_RESULT);

          $dArea=$QueryObj6->fetch_assoc();
          $QueryObj6->close();


          if($dArea!="")
          {$rek+=1;
             $aeroPole1=array_merge($aeroPole1,recur((string)$dArea["airport_codes"],$rek,$aeroPole1));

            $fore++;

        }

    }//foreach




}
}

編集:括弧を閉じました

4

2 に答える 2

1
     $aeroPole1=array_unique($aeroPole1);
    return $aeroPole1;

else
{
     $aeroPole1=explode(",",$d);


  return $aeroPole1;
}

v がない場合は別のケース:

于 2013-02-02T12:04:02.720 に答える
0

あなたはこれを試すことができます

// の終了後foreach

$aeroPole1=array_unique($aeroPole1);
    return $aeroPole1;

ユニークなのは重複を持たないことであり、関数を返します

于 2013-02-02T12:01:12.330 に答える