Annikangl
@Annikangl
Junior PHP developer

Как одновременно обходить два масива?

Я новичок в PHP. Делаю свой импорт/экспорт данных Excel. У меня есть вложенный массив с данными такого вида:

Array
(
    [0] => Array
        (
            [number] => 1
            [full_name] => Иванов Иван Иванович
            [date] => 1995:07:02
            [adress] => г. Москва
            [passport] => ВС212928
            [childs] => да
            [salary] => 15,000.00 ₽
        )

    [1] => Array
        (
            [number] => 2
            [full_name] => Петров Петр Петрович
            [date] => 1993:01:01
            [adress] => г. Москва
            [passport] => АС212121
            [childs] => нет
            [salary] => 20,000.00 ₽
        )

    [2] => Array
        (
            [number] => 3
            [full_name] => Сидоров Николай Николеевич
            [date] => 1994:02:05
            [adress] => г. Москва
            [passport] => ВК199894
            [childs] => да
            [salary] => 1,200,000.00 ₽
        )
}


Эти данные я вставляю в Excel, но сейчас это работает слишком жестко, с привязкой на количество рядов в таблице. Вот так

foreach ($rows as $row) {
         $active_sheet->setCellValue('A' . $count, $row['number']);
         $active_sheet->setCellValue('B' . $count, $row['full_name']);
         $active_sheet->setCellValue('C' . $count, $row['date']);
         $active_sheet->setCellValue('D' . $count, $row['adress']);
         $active_sheet->setCellValue('E' . $count, $row['passport']);
         $active_sheet->setCellValue('F' . $count, $row['childs']);
         $active_sheet->setCellValue('G' . $count, $row['salary']);

         $count = $count + 1;
     }


Я создал массив с алфавитом
$alphabet = range('A','Z')

Как я могу динамически подставлять буквы алфавитаи значения из моего массива с данными в метод setCellValue()

Пытаюсь сделать так, но не работает, т.к у меня имеется вложенность

foreach ($rows as $key => $row) {
         $active_sheet->setCellValue($alphabet[$key] . $count, $row[$key]);
         $count = $count + 1;
     }
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Mellorn
Вложенным foreach и решаете.
foreach ($rows as $row) {
    foreach ($row as $key => $item) {
        // тут основная логика
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы