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

По поводу функции explode

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

  1. drakonik999

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

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Можно ли вместо ключей 0,1,2 ... поставить свои?
    например 'петя','коля'
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. $a = [];
    4.  
    5. $a['gashish'] = '56Kg';
    6.  
    7. print_r ($a);
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Функция ведь не знает заранее, сколько будет элементов. По этому нет, подставить в explode свои ключи нельзя.
    Скажите, какую конкретно проблему решаете. Что на входе, что на выходе, откуда данные приходят, в каком виде, а мы подскажем, как правильнее поступить.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
  5. drakonik999

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

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    Ванге лайк, а не мне )
     
  7. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    А если echo ($a); добавить, то выскакивает: PHP Notice: Array to string conversion in index.php on line 8 Array
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Да, потому что echo и print_r не одно и то же. А ты что ожидал?
     
  10. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да спасибо разобрался, экоу выводит ключи массива
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Понятно вылетит ошибка потому что надо писать так
    PHP:
    1. echo $a;
    или так
    PHP:
    1. echo '<pre>'.$a.'</pre>';
    либо же как предложил @Fell-x27
    PHP:
    1. print_r($a);
    в твоем случае используй первый вариант или третий!
     
    keren нравится это.
  12. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @keren
    если ты тестируешь переменные или массивы или что либо другое пиши так,
    чтобы увидеть что в них происходит и что в них хранится:
    PHP:
    1. die(print_r($a));
    Короче можно по всякому тестировать, совет форума установи себе IDE
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Разницы между "echo ($a)" и "echo $a" никакой нет.
     
  14. karmay

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

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    Единственное что меня радовало на (говно)курсах вебмастера, это препод по пхп, и он всегда говорил, что если есть какая-то непонятная ошибка выведи все свои действия на монитор, и все сразу станет просто
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Что показывает его уровень как "ламинат". То есть вот ниже плинтуса и ценности особой не имеет. Хороший препод сказал бы "надо поставить себе нормульную IDE, прикрутить к ней xdebug и, если есть какая-то непонятная ошибка, расставить брейкпоинты и провести трассировку кода, заглядывая, попутно, в переменные, и все сразу станет просто и прозрачно, ведь вы будете видеть не результат работы глючного кода и гадать о его причинах, а работу этого кода изнутри, строка за строкой, без угадываний, напрямую".
     
    romach нравится это.
  16. karmay

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

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    эээ, ну хз, конечно IDE хорошо, а на базе бюджетного учреждения был только нодпад, даже саблайм не юзали.
    и все работало, и понимал почему. Суровые Челябинские, программеры не используют IDE. А со всякими приколюхами, плагинами и хаками любой менеджер становится великим разработчиком, и сами не ведают чего творят....
     
  17. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Умение писать без IDE в блокноте не делает тебя разработчиком, лишь продвинутой code monkey. Разработка - про архитектуру, код же, язык и инструменты - вторичны. Примерно тут, кстати, и появляются фреймворки, т.к. пилить вручную слои для бд, http, эвентов и прочего - не программирование, а лишняя трата времени. А бюджетному учреждению я бы посоветовал скачать netbeans ide, которая бесплатна и свободна, вместо того что бы героически сражаться с ветряными мельницами ) Ну и xdebug, да.
     
  18. karmay

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

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    А мне кажется, что продвинутая IDE как раз и сделает из тебя code monkey, ибо нет необходимости понимания процесса, есть программа выводящая ошибки, и гугл, который покажет как исправить ее же. Все, я разработчик, я знаю кучу плагинов, которые за меня все сделают.
    З.Ы.: Я когда дипломный проект защищал, у меня спросили из комиссии, а ты зачем добавил целую БД для комментов, моджерирование и т.п., прикрутил бы комментарии из контакта, и збс, нах велосипедЪ изобретать...
    а другому мальчишке сказали, что ты то возможность комментов добавил, а если там матом будут ругаться, как так-то модерацию не сделал???
    точка зрения.
     
  19. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да преимущества IDE перед блокнотом понятны, подсказки, автозаполнение и тд, но проблема разобраться не просто в работе кода в вакууме, а с точки зрения работы на сервере, там обращение к глобальной переменной, получение и изменение пути к директории :confused:
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Это показатель непрофессионализма, а не повод для гордости.
    Нет. IDE не пишет за тебя код, это глупость. Не помогай глупостям распространяться.
    Нет. Какие плагины? Что они за меня сделают? Покажи мне, плз, плагины, которые за меня будут делать что-то. Первый, кто запатентует плагины, которые "за программиста все делают", станет мультимиллиардером и повергент отрасль в технологическую сингулярность.
    Представь себе монтажника. И представь, что ты ему говоришь, что он не монтажник, а лох, потому что уровень его крутизны как монтажника определяет то, что он болты заворачивает не отверткой, а шуруповертом, а не то, насколько качественно он проводит монтажные работы. Монтажник тебе в итоге скажет, что шурупы заворачивать, тратя на это целый день, ковыряясь отверткой - не то, за что ему деньги платят. Это монотонная рутина, с которой справится любой. Вообще любой. Даже безмозглый электромоторчик с редуктором. И то, что работу электромоторчика с редуктором, которую электромоторчик с редуктором делает почти мгновенно, весь день делает человек, опускает человека как специалиста с почасовой оплатой на уровень электромоторчика с редуктором по ценности. Даже ниже.
    И как это противоречит тому, что сказал я? Я, к слову, описал процесс отладки в том виде, в каком он есть во всех нормальных языках программирования из коробки. Во всех, кроме PHP. В PHP для нормального процесса отладки нужно чуть усилий приложить, чтобы отладчик прикрутить. И тогда он тоже становится нормальным.

    Нормальный процесс отладки позволяет тебе сделать ВСЕ. С точки зрения работы на сервере, да. Ты посылаешь запрос, у тебя приложение становится на паузу в указанном месте и ты его исследуешь, видишь все вызовы, переменные, что куда и как. Ты не гадаешь, где проблема, ты видишь ее саму.
     
    karmay нравится это.