Проход по массиву в массивах и вывод значений вместе Stack Overflow

У меня есть массив …

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

Я могу справиться с форматом, просто борясь с порядком.

2

Решение

Есть несколько способов, вот два.

Используйте ключ зацикленного массива для доступа к другому:

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;
}
4

Другие решения

Попробуй это

$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;
}
2

По вопросам рекламы [email protected]