цикл по множеству массивов - PullRequest
0 голосов
/ 02 марта 2012

Мне трудно перебирать следующий массив -

array("newProduct"=>array('rmsId' => '123456789','departmentName' => 'Britax','categoryName' => 'Car Seat','productName' => 'Test Product For Britax Car Seat','productPrice' => 33.99,'productQty' => 10),
      "newProduct"=>array('rmsId' => '987654321','departmentName' => 'Stokke','categoryName' => 'Highchairs','productName' => 'Test Product For Stokke Highchair','productPrice' => 83.99,'productQty' => 20),
      "newProduct"=>array('rmsId' => '13579','departmentName' => 'Maclaren','categoryName' => 'Buggy','productName' => 'Test Product For Maclaren Buggy','productPrice' => 183.99,'productQty' => 5)
                );

Может ли кто-нибудь поставить меня на правильный путь для достижения этой цели? Моя цель состоит в том, чтобы добавить каждый в MySQL DB

Спасибо

Ответы [ 4 ]

3 голосов
/ 02 марта 2012

Ваш массив неверен; ключ может существовать только один раз. Вам, вероятно, следует создать числовые индексы, а затем просмотреть их с помощью foreach().

1 голос
/ 02 марта 2012
$array = array(array('rmsId' => '123456789','departmentName' => 'Britax','categoryName' => 'Car Seat','productName' => 'Test Product For Britax Car Seat','productPrice' => 33.99,'productQty' => 10),
      array('rmsId' => '987654321','departmentName' => 'Stokke','categoryName' => 'Highchairs','productName' => 'Test Product For Stokke Highchair','productPrice' => 83.99,'productQty' => 20),
      array('rmsId' => '13579','departmentName' => 'Maclaren','categoryName' => 'Buggy','productName' => 'Test Product For Maclaren Buggy','productPrice' => 183.99,'productQty' => 5)
                );


foreach($array as $value){
    $query = "insert into (columnname,columnname) values (".$value['rmsId'].",'".$value['departmentName']."')";
    //fire query

}

при условии, что ваш формат массива показан Неправильная структура массива, попробуйте, как показано

1 голос
/ 02 марта 2012

Попробуйте это: -

<?php
$var = array("0"=>array('rmsId' => '123456789','departmentName' => 'Britax','categoryName' => 'Car Seat','productName' => 'Test Product For Britax Car Seat','productPrice' => 33.99,'productQty' => 10),
      "1"=>array('rmsId' => '987654321','departmentName' => 'Stokke','categoryName' => 'Highchairs','productName' => 'Test Product For Stokke Highchair','productPrice' => 83.99,'productQty' => 20),
      "2"=>array('rmsId' => '13579','departmentName' => 'Maclaren','categoryName' => 'Buggy','productName' => 'Test Product For Maclaren Buggy','productPrice' => 183.99,'productQty' => 5)
                );
          foreach ($var as $key=>$val) {
            $id = $val['rmsId'];
            $dname = $val['departmentName'];
            $cname = $val['categoryName'];
            $pname = $val['productName'];
            $price = $val['productPrice'];
            $qnt = $val['productQty'];
         $query = mysql_query("INSERT INTO TABLENAME (rmsId,departmentName,categoryName,productName,productPrice,productQty) VALUE(".$id.",".$dname.",".$cname.",".$pname.",".$price.",".$qnt.")");
           }
?>
1 голос
/ 02 марта 2012

Во-первых, вам нужно дать каждому ключу массива уникальный идентификатор. Затем вы можете просмотреть их.

$items = array(
               "product1"=>array('rmsId' => '123456789','departmentName' => 'Britax','categoryName' => 'Car Seat','productName' => 'Test Product For Britax Car Seat','productPrice' => 33.99,'productQty' => 10),
               "product2"=>array('rmsId' => '987654321','departmentName' => 'Stokke','categoryName' => 'Highchairs','productName' => 'Test Product For Stokke Highchair','productPrice' => 83.99,'productQty' => 20),
               "product3"=>array('rmsId' => '13579','departmentName' => 'Maclaren','categoryName' => 'Buggy','productName' => 'Test Product For Maclaren Buggy','productPrice' => 183.99,'productQty' => 5)
                );

foreach($items as $product) {
   echo $product['rmsId'];
   echo $product['departmentName'];
   // ... and so on
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...