2016-12-14 4 views
0
$cn = curl_init(); 
$url = 'https://URL'; 

curl_setopt($cn, CURLOPT_URL, $url); 
curl_setopt($cn, CURLOPT_RETURNTRANSFER, TRUE); 

$output = curl_exec($cn); 

$aOutput = json_decode($output, TRUE); 
//var_dump($aOutput); 
$curl_error = curl_error($cn); 
print_r($curl_error); 

$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
foreach($aOutput as $key => $data) { 
    var_dump($key['average_price']); 
// var_dump($data[$key]["Average_Price"]); 
// $sql = "INSERT INTO Market('type_id', 'average_price', 'adjusted_price') 
//  VALUES ($data);"; 
    } 
    array(10763) { 
    [0]=> 
    array(3) { 
    ["average_price"]=> 
    float(381907.23) 
    ["adjusted_price"]=> 
    float(383184.18) 
    ["type_id"]=> 
    int(32772) 
    } 
    [1]=> 
    array(3) { 
    ["average_price"]=> 
    float(54090.07) 
    ["adjusted_price"]=> 
    float(57340.16) 
    ["type_id"]=> 
    int(32774) 
    } 

この多次元配列全体をデータベースに追加しようとしています。私が問題を抱えている主なものは、foreachループです。MySQLデータベースにRestAPI応答を追加する

私は$ array [$ key] [$ column]と他の多くの方法を試しましたが、変数をダンプするときだけNULLを取得します。

私はしようとしましたが、$ key ['average_price']などはまだnullを返します。

+1

あなたのforeachの中に、 '$ key ['average_price']'などはちゃんと動くはずです – WillardSolutions

+0

あなたの '$ aOutput'の構造は?私はスカラーである '$ key'の代わりに' $ data ['average_price'] 'からデータを取得する必要があると思います。ループは '$ aOutput'のすべての項目を' $ key'と '$ data'として表します。ここで' $ key'は配列インデックスであり、 '$ data'はハッシュそのものです。 – Wizard

答えて

0

$ keyと$ dataが混乱しています。

簡単な

あなたはそれを注釈を付ける場合:

をあなたの$ aOutput配列は、あなただけの

を行い、さえ敬遠しがちキーを使用していないことで、これを簡素化することができ、その後

array(10763) { 
    [0]=> 
     array(3) { 
      ["average_price"]=>float(381907.23) 
      ["adjusted_price"]=>float(383184.18) 
      ["type_id"]=>int(32772) 
     } 
    [1]=> 
     array(3) { 
      ["average_price"]=>float(54090.07) 
      ["adjusted_price"]=>float(57340.16) 
      ["type_id"]=>int(32774) 
     } 
    .... 

foreach($aOutput as $key => $data) { 
    // $key = 0 
    // $data = array(3) { 
      ["average_price"]=>float(381907.23) 
      ["adjusted_price"]=>float(383184.18) 
      ["type_id"]=>int(32772) 
     } 
    // So what you want is $data['average_price'] 

ある場合

foreach($aOutput as $data) { 
    // $data = array(3) { 
      ["average_price"]=>float(381907.23) 
      ["adjusted_price"]=>float(383184.18) 
      ["type_id"]=>int(32772) 
     } 
    // So what you want is $data['average_price'] 
関連する問題