2016-04-14 20 views
1

Bu istisnayı alıyorum: Tanımsız ofset: Veritabanına çok boyutlu bir dizi eklerken 2. alışveriş sepetinden kaç öğe bağlıLineer denetleyicide hata dışı durum 137 137 Tanımsız uzaklık: 2

Array ([product_id] => Array ([0] => 7 [1] => 1) [quantity] => Array ([0] => 2 [1] => 1) [price] => Array ([0] => 200.00 [1] => 700.00) [amount] => Array ([0] => 400 [1] => 700)) 

tanımsız ofset değeri alternatifler: Ben dizi ince görünmek gibi görünüyor echo zaman

$order_details = []; 
for($i= 0; $i < count($product); $i++){ 
    $order_details[] = [ 
     'order_id' => $orders->id, 
     'product_id' => $product['product_id'][$i], 
     'units'=>4, 
     'quantity' => $product['quantity'][$i], 
     'unit_price' => $product['price'][$i], 
     'product_discount_id'=>0, 
     'amount' => $product['amount'][$i], 
    ]; 
} 

: Bu hata işaret edildiği benim döngü döngüye geçirilir. Örneğin, 3 öğe varsa, hata Tanımlanmamış sapma olarak ayarlanır: 3 Gerçek köstebeği bulamıyorum. Web’de arama yaptım hiç bir şekilde yönetmedim. Her türlü yardım. Ne yanlış yapıyorum?

cevap

0

Aldığınız hatalar, count($product) dizinine sahip bir öğe olmaması ile ilgilidir.

Sadece kullanmalıdır:

for($i= 0; $i <count($product)-1; $i++)

Bu şekilde döngü iyi olacak.

0

Bu tür garip bir dizi yapısı.

$products = [ 
    [ 
     'product_id' => 7, 
     'quantity' => 2, 
     'price' => 200.00, 
     'amount' => 400 
    ], 
    [ 
     'product_id' => 1, 
     'quantity' => 1, 
     'price' => 700.00, 
     'amount' => 700 
    ] 
]; 

Sonra sadece ürünlere göre foreach edebilirsiniz: bunu böyle yeniden düzenlenmiş ise ürün başına bir öğe böylece verilerle çalışan da çok daha kolay olurdu.

senin sorunla ilgili düzeltme olsa bu for($i= 0; $i <= count($product); $i++)

+0

Teşekkür Jim. ($ i = 0; $ i <= count ($ product); $ i ++) aynı hatayı korur. – wafutech

+0

Ayrıca, print_r() üzerinde doğru şekilde görüntülenen ancak helps..php satırında ErrorException değerini döndüren önerilen dizi yapınızı denedim. 686: preg_replace(): Parametre uyuşmazlığı, desen bir dizgidir, kod – wafutech

+0

kodunu çalıştırdığımda bir dizidir. ne yaptığımı gör. Yanlış bir şey yapıyorum – wafutech

İlgili konular