遍历数组中的数组并一起输出值 PHP

Loop through array in arrays and output values together PHP

我有一个数组...

array (size=2)
  'prd' => 
    array (size=8)
      0 => string '1' (length=1)
      1 => string '2' (length=1)
      2 => string '3' (length=1)
      3 => string '4' (length=1)
      4 => string '5' (length=1)
      5 => string '6' (length=1)
      6 => string '7' (length=1)
      7 => string '8' (length=1)
  'price' => 
    array (size=8)
      0 => string 'a' (length=1)
      1 => string 'b' (length=1)
      2 => string 'c' (length=1)
      3 => string 'd' (length=1)
      4 => string 'e' (length=1)
      5 => string 'f' (length=1)
      6 => string 'g' (length=1)
      7 => string 'h' (length=1)

我希望输出看起来像这样...

1 成本 a,2 成本 b,3 成本 c,4 成本 d,5 成本 e,6 成本 f,7 成本 g,8 成本 h

到目前为止我已经尝试了以下...

foreach ($array as $values) {

    foreach ($values as $val ) {
        echo $val;
    }

}

这按顺序给了我数组...

12345678abcdefgh

如何让它输出

1a2b3c4d5e6f7g8h

我可以处理格式,只是在顺序上挣扎。

方法有很多种,这里介绍两种。

使用循环数组的键访问另一个:

foreach($array['prd'] as $key => $val) {
    echo $val . $array['price'][$key];
}

组合成键和值:

$array = array_combine($array['prd'], $array['price']);

foreach($array as $key => $val) {
    echo $key . $val;
}

试试这个

$data = array (
  'prd' => array (
      0 => '1', 
      1 => '2', 
      2 => '3', 
      3 => '4', 
      4 => '5', 
      5 => '6', 
      6 => '7', 
      7 => '8', 
   ),
  'price' =>  array (
      0 => 'a', 
      1 => 'b', 
      2 => 'c', 
      3 => 'd', 
      4 => 'e', 
      5 => 'f', 
      6 => 'g', 
      7 => 'h', 
   )
);

for ($x = 0; $x< count($data['prd']); $x++) {
  echo $data['prd'][$x] . " costs " . $data['price'][$x] . PHP_EOL;
}