2016-04-07 20 views
2

foreach döngüsü yankılandı değerleriayrı dizi G dizi değerleri ayırmak istiyoruz PHP

<?php foreach($qty as $qty2): ?> 
    <?php foreach($qty2 as $q): ?> 
     <?php echo implode(",", $q); ?> 
    <?php endforeach ?> 
<?php endforeach ?> 

bir PHP hata

önem karşılaşıldı: uyarı

mesaj: hareket ederler() : Geçersiz bağımsız değişkenler,

geçirdi. es olur normalde gibi bu

87 89 78 

87, 89, 78 

veya

87 - 89 - 78 

veya

(87)(89)(78) 

fikri göstermek için olduğu gibi çıkış istiyorum böylece kafa karıştırıcı görünüyor kullanıcılar olduklarını dizinin

adet dizisi Şimdi

Array ([0] => Array ([qty] => 24) [1] => Array ([qty] => 24) [2] => Array ([qty] => 24)) 

den nt değerleri bu

<?php foreach($qty as $qty2): ?> 
     <?php foreach($qty2 as $q): ?> 
      <?php echo $q . " , " ; ?> 
     <?php endforeach ?> 
    <?php endforeach ?>  

Sonucu

24 , 24 , 24 , 

sonuna

bir Sondaki virgül her zaman vardır çalıştı bir ny Fikirler?

+0

Eğer dizi $ qty gönderebilir çıktı ?? –

+0

Soru güncellendi –

cevap

1

Yinelemede her öğe üzerinde implode kullanmayın.

Önce tüm öğeleri bir kapsayıcıda toplayın, ardından implode()'u kullanın.

<?php 
$data = array(); 
foreach($qty as $qty2) { 
    $data[] = $qty2['qty']; // gather all qty first 
} 
echo implode(', ', $data); // implode collected elements 
?> 

Ya array_column varsa, siz de kullanabilirsiniz:

<?php 

echo implode(', ', array_column($qty, 'qty')); 

?> 
+0

İkinci seçeneği tercih ederim –

1

Ayrıca ayrı dizi değerlerine join() işlevini kullanabilirsiniz .. ilk serbest değişken delimiter ve ikinci katılmak dizidir .

<?php 
    $qty = array(
    0 => array('qty' => 24), 
    1 => array('qty' => 24), 
    2 => array('qty' => 24) 
); 

    $arr = array(); 
    foreach ($qty as $q) { 
    $arr[] = $q['qty']; 
    } 

/// used delimiter ',' 
echo join(',', $arr); 
echo "<br>"; 

/// used delimiter '-' 
echo join('-', $arr); 

?> 

Bu irade

24,24,24 
24-24-24