Объединить 3 массива в один цикл foreach

я стараюсь с успехом, когда объединить массив 2 в один цикл foreach.

<?php //var $phone_prefix_array = $_POST['phone_prefix']; //prefix eg. 60 (for country code) $phone_num_array = $_POST['phone']; $c_name_array = $_POST['customer_name']; foreach (array_combine($phone_prefix_array, $phone_num_array) as $phone_prefix => $phone_num) { //combine prefix array and phone number array $phone_var = $phone_prefix . $phone_num; $phone = '6' . $phone_var; if ($phone_prefix == true && $phone_num == true) { //filter if no prefix number dont show echo $phone; //customer_name_here } else { } } ?> 

Результат должен выглядеть следующим образом:

 60125487541 Jake 60355485541 Kane 60315488745 Ray 63222522125 Josh 

но теперь я не уверен, как объединить другой массив $c_name_array в foreach lopp

Версия PHP: 5.2.17

Related of "Объединить 3 массива в один цикл foreach"

array_combine – это ужасное решение для вашего случая и не будет работать, если какое-либо значение в первом массиве не является допустимым ключом (т. е. не int или string)

PHP 5.3+ имеет MultipleIterator для этого:

 $iterator = new MultipleIterator(); $iterator->attachIterator(new ArrayIterator($phone_prefix_array)); $iterator->attachIterator(new ArrayIterator($phone_num_array)); foreach ($iterator as $current) { $phone_prefix = $current[0]; $phone_num = $current[1]; // ... } 

С PHP 5.4 вы можете написать цикл более кратким:

 foreach ($iterator as list($phone_prefix, $phone_num)) { // ... }