-2

こんにちはみんな私はこのスクリプトを持っていますが、明らかにforeach権利を使用していません私はとにかくこれらの2つのリクエストを組み合わせて1つとして機能することができるのだろうかと思っていました

$url = "http://api.website.com/1.0/country?source=ballsche&programid=5380&campaignid=100000";
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$array = json_decode($rawdata,true);
foreach($array as $obj) {
    $country = $obj['country'];
    $countrycode = $obj['countryCode'];

}
foreach($countrycode as $did) {
    $wgurl = "http://api.website.com/1.0/city?source=ballsche&programid=5380&campaignid=100000&country-code=$did";
    $wgch = curl_init();
    $wgtimeout = 0;
    curl_setopt($wgch, CURLOPT_URL, $wgurl);
    curl_setopt($wgch, CURLOPT_HEADER, 0);
    curl_setopt($wgch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($wgch, CURLOPT_CONNECTTIMEOUT, $wgtimeout);
    $wgrawdata = curl_exec($wgch);
    curl_close($wgch);
    $wgarray = json_decode($wgrawdata,true);
}
foreach($wgarray as $wgobj) {
    $city = $wgobj['city'];
    $citycode = $wgobj['cityCode'];
    if($city){
        $sql = "INSERT INTO `pt_city` (city, citycode) VALUES ('$city', '$citycode')";
        database_queryModify($sql,$result);
        }else{
        echo "dint work";
    }

}

データから別の配列を作成することを推測してこれを行う簡単な方法があるはずですが、私はそれを正しく理解できません私はこれを試したときにエラーが発生し続けますそこにある150のリクエストのコードは、すべての都市情報を取得するためにトラフを循環する必要があり、リクエストごとに、戻ってくるjsonをデコードして、都市のテーブルに挿入する必要があります

4

1 に答える 1

1

このようにお互いにforeachを入れるだけです

$url = "http://api.website.com/1.0/country?source=ballsche&programid=5380&campaignid=100000";
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$array = json_decode($rawdata,true);
foreach($array as $obj) {
    $country = $obj['country'];
    $countrycode = $obj['countryCode'];

    foreach($countrycode as $did) {
        $wgurl = "http://api.website.com/1.0/city?source=ballsche&programid=5380&campaignid=100000&country-code=$did";
        $wgch = curl_init();
        $wgtimeout = 0;
        curl_setopt($wgch, CURLOPT_URL, $wgurl);
        curl_setopt($wgch, CURLOPT_HEADER, 0);
        curl_setopt($wgch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($wgch, CURLOPT_CONNECTTIMEOUT, $wgtimeout);
        $wgrawdata = curl_exec($wgch);
        curl_close($wgch);
        $wgarray = json_decode($wgrawdata,true);

        foreach($wgarray as $wgobj) {
            $city = $wgobj['city'];
            $citycode = $wgobj['cityCode'];
            if($city){
                $sql = "INSERT INTO `pt_city` (city, citycode) VALUES ('$city', '$citycode')";
                database_queryModify($sql,$result);
            } else {
                echo "dint work";
            }
        }
    }   
}
于 2012-08-11T12:48:13.827 に答える