单独的数组值PHP

时间:2016-04-07 03:46:17

标签: php arrays

我想分离从foreach循环中回显的数组值

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

遇到PHP错误

严重性:警告

消息:implode():传递的参数无效

如果不添加内爆函数,我的值通常会喜欢这个

87 89 78

看起来很混乱所以我想输出

  87, 89, 78

  87 - 89 - 78

  (87)(89)(78)

这个想法是向用户显示它们与数组

的值不同

数组

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

现在我尝试了这个

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

结果

  24 , 24 , 24 ,

最后总是有一个尾随的逗号

任何想法?

2 个答案:

答案 0 :(得分:1)

在迭代中不要对每个元素使用1

首先收集容器内的所有元素,然后使用implode

implode()

如果<?php $data = array(); foreach($qty as $qty2) { $data[] = $qty2['qty']; // gather all qty first } echo implode(', ', $data); // implode collected elements ?> 可用,您也可以使用它:

array_column

答案 1 :(得分:1)

您还可以使用join()函数来分隔数组值。在连接中,第一个参数是delimiter,第二个是数组。

<?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);

?>

这将输出

24,24,24
24-24-24