2015-04-01 43 views
-2

我使用此代碼來獲得數組的形式從API數據迭代這個PHP數組:如何使用的foreach

Array ([Status] => Ok [ReturnVal] => Array ([0] => Array ([name] => Alcatel [model] => Hero OT-8020X [color] => Black [warehouse] => HU11 [bar_code] => A20200125 [in_stock] => <20 [exp_delivery] => 0 [exp_available] => <20 [delivery_date] => - [price] => 301.90 [properties] => Array ([eu_warranty] => no [keypad] => Touch screen [manual] => Hun [simlock] => Sim Free [remarks] => Data cable, headset [language] => ger, eng, esp, fra, ita, hun, ned, por, rom, tur [country] => China) [ean] => [image] => http://www.mobileshop.bz/phone-pictures/api/3531-alcatel-hero-ot-8020x.jpg [id] => 3531 [category] => mobile) [1] => Array ([name] => Alcatel [model] => Idol 2 Mini OT-6016X [color] => Gray [warehouse] => HU11 [bar_code] => A20200121 [in_stock] => <5 [exp_delivery] => 0 [exp_available] => <5 [delivery_date] => - [price] => 192.60 [properties] => Array ([eu_warranty] => no [keypad] => Touch screen [manual] => Hun [simlock] => Sim Free [remarks] => Data cable, headset [language] => cat, ger, eng, esp, fra, ita, hun, ned, por, rom, tur [country] => China) [ean] => [image] => http://www.mobileshop.bz/phone-pictures/api/3345-alcatel-idol-2-mini-ot-6016x.jpg [id] => 3345 [category] => mobile) [2] => Array ([name] => Alcatel [model] => Idol 2 Mini OT-6016X [color] => White [warehouse] => HU11 [bar_code] => A20200120 [in_stock] => <5 [exp_delivery] => 0 [exp_available] => <5 [delivery_date] => - [price] => 192.60 [properties] => Array ([eu_warranty] => no [keypad] => Touch screen [manual] => Hun [simlock] => Sim Free [remarks] => Data cable, headset [language] => cat, ger, eng, esp, fra, ita, hun, ned, por, rom, tur [country] => China) [ean] => [image] => http://www.mobileshop.bz/phone-pictures/api/3346-alcatel-idol-2-mini-ot-6016x.jpg [id] => 3346 

$GetCurrentStock = $MyApi->GetCurrentStock('Array'); 
print_r($GetCurrentStock); 

我在陣中這樣的形式獲取數據

我必須以編程方式將數據中的每個產品添加到我的數據庫。 單品加入這樣的:

$productData = array(
     'product_description' => array('1' => array('name' => 'Alcatel', 'meta_description' => '' ,'meta_keyword' =>'', 'description' => '', 'tag' =>'')), 

     'model' => 'Alcatel Hero OT-8020X Black', 
     'price' => '301.40', 

     'tax_class_id' => 0, 
     'quantity' => 1, 
     'minimum' => 1, 
     'subtract' => 1, 
     'stock_status_id' => 6, 
     'shipping' => 1 , 
     'image' => 'http://www.mobileshop.bz/phone-pictures/api/3531-alcatel-hero-ot-8020x.jpg', 
     'manufacturer' => 'Alcatel', 
     'manufacturer_id' => 44, 
     'category' => 'ce', 
     'product_category' => array('0' => 61), 
     'product_store' => array('0' => 0), 
     'date_available' => '2015-03-31', 
     'length_class_id' => 1, 
     'weight_class_id' => 1, 
     'status' => 1, 
     'sort_order' => 1, 

     ); 

    //load model 
    $this->load->model('catalog/product'); 

    // Attempt to pass the assoc array to the add Product method 
    $this->model_catalog_product->addProduct($productData); 

如何添加所有這些產品在批量編程方式使用的foreach?

+1

你試過了$ GetCurrentStock [「ReturnVal」]''的foreach – 2015-04-01 13:14:41

+0

@Richie你的意思是說,我用這個和每個值存儲在每個記錄的PHP變量?你能寫一個簡單的代碼示例來解釋一下嗎?我會很感激! – Faizan 2015-04-01 13:19:17

回答

1

您可以爲您獲得的所有記錄創建一個foreach循環。

$this->load->model('catalog/product'); 

foreach($GetCurrentStock['ReturnVal'] as $value){ 
    $productData = array(
     'model' => $value['model'], 
     'price' => $value['price'], 
    ); 

    // add other values in above array 
    $this->model_catalog_product->addProduct($productData); 
} 
+0

謝謝,我剛剛學習php並想要開始。 – Faizan 2015-04-02 09:32:16

+1

你最歡迎的是php的世界:) – 2015-04-02 09:32:55