【问题标题】:Echoing an multidimensional array回显多维数组
【发布时间】:2015-11-20 05:56:55
【问题描述】:

这是我的代码:

$products = array(
array ("08:10", "10:30", "13:15"),
array ("GSÖ2B2U", "VSH2B2U", "FOR2B2U"), 
array ("GUS", "GJG", "GRL")
);

我希望能够循环并接收以下输出:

08:10 GSÖ2B2U GUS
10:30 VSH2B2U GJG
13:15 FOR2B2U GRL

我已尝试寻找答案,但似乎找不到任何答案,感谢您的帮助:)

【问题讨论】:

  • 显示你当前的代码/尝试
  • 谷歌foreach in php
  • foreach (array_expression as $key => $value){ !!

标签: php multidimensional-array


【解决方案1】:

你可以试试这个——

$products = array(
array ("08:10", "10:30", "13:15"),
array ("GSÖ2B2U", "VSH2B2U", "FOR2B2U"), 
array ("GUS", "GJG", "GRL")
);
$new= array();
for ($i = 0; $i < count($products); $i++) {
   $new[] = array_column($products, $i);
}

foreach($new as $vals) {
   echo implode(' ', $vals) . '<br>';
}

输出

08:10 GSÖ2B2U GUS<br>
10:30 VSH2B2U GJG<br>
13:15 FOR2B2U GRL<br>

【讨论】:

  • 为什么不foreach(range(0, count($products)-1) as $i) { echo $products[0][$i] . $products[1][$i] . $products[2][$i] . '&lt;br&gt;'; }
  • @Viral 如果数组元素在两个维度上都增加了怎么办?
  • 好的,这个foreach(range(0, $c = count($products)-1) as $i) { foreach(range(0, $c) as $j) { echo $products[$j][$i] . ' '; } echo PHP_EOL; }@b0s3
  • @viral 我不认为这段代码让这个过程变得更好。你确定?
  • 但它更容易理解,只需 foreach 和 $products 数组 count !,因此处理成本更低 @b0s3
猜你喜欢
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
相关资源
最近更新 更多