За последние 24 часа нас посетили 17956 программистов и 1649 роботов. Сейчас ищут 1678 программистов ...

foreach array

Тема в разделе "PHP для новичков", создана пользователем Zeusa, 22 май 2017.

  1. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    PHP:
    1. $i = 1;
    2. $count = 20;
    3. while($i <= $count)
    4. {
    5.     $list = array(
    6.         array('title', 'price', 'model', 'description', 'img_home', 'img_dob'),
    7.         array($articles[$i++]['title'], $articles[$i++]['price'], $articles[$i++]['model'], $articles[$i++]['description'], $articles[$i++]['img_home'], $articles[$i++]['img_dob'])
    8.     );
    9. }
    Добрый день нужно так сделать цикл foreach
    PHP:
    1. array($articles[$i++]['title'], $articles[$i++]['price'], $articles[$i++]['model'], $articles[$i++]['description'], $articles[$i++]['img_home'], $articles[$i++]['img_dob'])
    Как мне грубо говоря надо сделать что-бы все работало как я хочу

    Это массив (я сам в шоке)
    PHP:
    1. $list = array(
    2.         array('title', 'price', 'model', 'description', 'img_home', 'img_dob'),
    3.         array($articles[$i++]['title'], $articles[$i++]['price'], $articles[$i++]['model'], $articles[$i++]['description'], $articles[$i++]['img_home'], $articles[$i++]['img_dob'])
    4.     );
    Он идет в csv файл

    Заголовок
    PHP:
    1. array('title', 'price', 'model', 'description', 'img_home', 'img_dob'),
    Вот это мне нужно так сказать зациклить
    PHP:
    1. array($articles[$i++]['title'], $articles[$i++]['price'], $articles[$i++]['model'], $articles[$i++]['description'], $articles[$i++]['img_home'], $articles[$i++]['img_dob'])
    2.     );
    Пожалуйста подскажите. Опыта маловато и не могу додумать как можно сделать
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    А вам точно это нужно? Вот расскажите, сколько раз здесь делается инкремент $i?
     
  3. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    от 20 зависит сколько будет строк
    Ну я лично понял задачу так но я пробую по разному её понять и сделать правильно
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Вот эта строчка делает инкремент $i сразу 6 раз :)
     
  5. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    Ну вы поняли мой уровень :)
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Причём тут уровень. Что за дурацкая отмашка, писать "я идиот, вы уж простите"? Хоть гордость имейте. Тут же элементарная логика - если мы компьютеру приказали 6 раз увеличить переменную, почему он должен сделать это один раз? Логика - основа программирования, включайте мозги :)

    Но для перебора массивов, конечно, лучше foreach,
     
    Zeusa нравится это.
  7. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    Получилось

    PHP:
    1. $fp = fopen('file.csv', 'w');
    2. fputcsv($fp, array('title', 'price', 'model', 'description', 'img_home', 'img_dob'), ";");
    3.  
    4.     foreach ($articles as $links_product) {
    5.         for ($x=0, $y=0; $x<$tovar_number; $x++, $y++) {
    6.         $temp = array($articles[$x]['title'], $articles[$x]['price'], $articles[$x]['model'], $articles[$x]['description'], $articles[$x]['img_home'], $articles[$x]['img_dob']);
    7.         fputcsv($fp, $temp, ";");
    8.         }break;
    9.     }
    10.  
    11. fclose($fp);
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    хахахахахахаха
    я не могу.... :D:D:D:D:D
    [​IMG]
     
  9. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    ?
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    что ты нагородил(а) в коде ? ага ага, - это студенточки мимо ушей и делают все равно по своему
     
  11. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    Когда-то вы придете к специалисту в вопросе в котором вы не разбираетесь и я надеюсь что он вам не поможет, а посмется и начнет проявлять неадекватность так же как и вы сейчас.
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    помочь и сделайте за меня - это две разные вещи. Вопрос иначе - кто вам дал эту работу / Дом.раб мб / или сами вызвались к заказчику , мол я пхп владею гоу вам сделаю. Если это своя работа, то какого фуя хуету ебаную городить в коде потом приходить на форум "как то так замутил, а что не так, сделайте как я хочу". Есть мануалы https://secure.php.net , есть все, попой жуй хоть, у кого фантазия какая.

    Но у тебя фантазия - это капец, точнее логика. На счет меня не переживайте. Я лентяй который может погуглить, если не понятно подскажут мануалами сверстники. За меня не беспокойтесь.
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Ну @MouseZver уже написал, что получилось. Хрень, хотя и выдаёт, то, что нужно. Ну как бы полосу на дороге своей пятой точкой тоже нарисовать наверное можно... Мозг не включился, значит мозгу не хватает информации, значит - читать про массивы php и про цикл foreach. Ссылку на мануал дали. Там даже по-русски всё.
     
    Zeusa нравится это.
  14. Zeusa

    Zeusa Новичок

    С нами с:
    15 фев 2016
    Сообщения:
    37
    Симпатии:
    0
    Ну так вы хоть пишите адекватно и я понимаю что в знаниях нужно мне подучить или же переосмыслить. Спасибо уже взялся переписывать код
     
  15. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    PHP:
    1. <?php
    2. $articles = []; // <- must store articles
    3.  
    4. // Delimiter and fields
    5. $delimiter = ';';
    6. $fields    = ['title', 'price', 'model', 'description', 'img_home', 'img_dob'];
    7.  
    8. $fp = fopen('file.csv', 'w');
    9. fputcsv($fp, $fields, $delimiter);
    10.  
    11. foreach ($articles as $article) {
    12.     $row = [];
    13.     foreach ($fields as $field) {
    14.         $row[$field] = $article[$field];
    15.     }
    16.     fputcsv($fp, $row, $delimiter);
    17. }
    18.  
    19. fclose($fp);