За последние 24 часа нас посетили 30516 программистов и 1754 робота. Сейчас ищут 986 программистов ...

Как разбить масив что бы он имел такой вид

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 9 дек 2016.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. $a = 'ремонт котлов';
    2.  
    3. [0]=>[ремонт]
    4. (
    5. [0] =>[р]
    6. [1] =>[е]
    7. [2] =>[м]
    8. [3] =>[о]
    9. [4] =>[н]
    10. [5] =>[т]
    11. )
    12. [1]=>[котлов]
    13. (
    14. [0] =>[к]
    15. [1] =>[т]
    16. [2] =>[л]
    17. [3] =>[о]
    18. [4] =>[в]
    19. )
    20.  
    21. )
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    PHP:
    1. <?php
    2. $str = 'ремонт котлов';
    3. $words = explode(' ',$str);
    4. $output = [];
    5. foreach($words as $word) {
    6.     $output[$word] = preg_split('//u', $word, -1, PREG_SPLIT_NO_EMPTY);
    7. }
     
    MouseZver нравится это.
  3. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Не подходит вот выдает

    PHP:
    1. (
    2.     [ремонт] => Array
    3.         (
    4.             [0] => ремонт
    5.         )
    6.  
    7.     [котлов] => Array
    8.         (
    9.             [0] => котлов
    10.         )
    11.  
    12. )
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
  5. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Для начало он ругается на $output=[];
    я сделал так $output=array();
    и выдало то что я скинул
     
  6. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Тогда нужно не утверждать, что что-то не подходит, а разбираться в причинах, почему именно у вас не работает. У вас очень старая версия PHP, поэтому не поддерживает короткий синтаксис объявления массивов.
     
  7. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    а каккая разница в обьявлении? [] и array() ?
     
  8. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Разницы нет, просто PHP до версии 5.4 сокращённую форму записи не поддерживает.
     
  9. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    ок. Если нет разници то почему он у меня выдает не то?
     
  10. HeavyLady

    HeavyLady Новичок

    С нами с:
    7 дек 2016
    Сообщения:
    11
    Симпатии:
    4
    Ответили же, что это из-за старой версии php! Лучше бы спасибо сказал...
     
  11. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Хороший вопрос и причин может быть масса. Включите, если не включен, вывод ошибок. Покажите реальный код того, что вы сейчас сделали.
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    У вас синтаксическая ошибка в примере массива.

    +
    $output[] = $word;
    $output[] = preg_split('//u', $word, -1, PREG_SPLIT_NO_EMPTY);
    --- Добавлено ---
    хоть PHP 4 вруби, код автора все равно справится с нюансом [] на array()
     
  13. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Parse error: syntax error, unexpected '[' in Z:\home\test1.ru\www\index.php on line 73
    строка 73 $output = [];
    код только ваш в файле
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    в теме был дан ответ на все про все. Тем более сами же поменяли/откатили на предшествующую конструкцию объявления переменной "как массив"