Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод из массива [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Строитель
Отправлено: 29 Октября, 2018 - 15:47:36
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Glomar пишет:
Там должна идти замена в массиве.
Там идёт замена в массиве, а заменяемые значения я подправил:
Спойлер (Отобразить)
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 15:48:49
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




Строитель пишет:
Glomar, вроде бы так
Спойлер (Отобразить)
 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 23:22:08
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Glomar, написал решение
Спойлер (Отобразить)
Результат:
Спойлер (Отобразить)

(Отредактировано автором: 30 Октября, 2018 - 00:15:54)

 
 Top
Glomar
Отправлено: 30 Октября, 2018 - 08:51:19
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




[quote=Строитель][/quote] Спасибо, усё ЗЕР-ГУД))) Правда я ваще не могу врубится как Вы это сделали. Мой уровень PHP видимо слишком мал ещё
 
 Top
Строитель
Отправлено: 30 Октября, 2018 - 09:55:29
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Glomar пишет:
Правда я ваще не могу врубится как Вы это сделали.

Ну мне тоже пришлось подумать несколько часов над вашей задачкой ))
Я могу расставить комментарии в коде, если необходимо.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. function parse_array(&$array){
  2.     // Это инициализация переменных $keys и $trigger. Объявление этих переменных
  3.     // вынесено в отдельную функцию потому, что оно используется более одного
  4.     // раза в скрипте. А почему именно в анонимной функции? - потому, что
  5.     // она больше нигде не используется.
  6.     $var_ini = function(){ return ['keys' => [], 'trigger' => 0]; };
  7.  
  8.     foreach ($array as &$arr) {
  9.         // Объявление переменных $keys и $trigger
  10.         extract( $var_ini() );
  11.         foreach ($arr as $key => &$item) {
  12.             // Получить последний символ из текущего элемента массива
  13.             $char = substr($item, -1);
  14.             // Если последний символ равен нулю, установить значение
  15.             // переключателя $trigger равным единице
  16.             $char != 0 ?: $trigger = 1;
  17.             // Если переключатель активирован, сохранять текущий ключ $key
  18.             // и последний символ из текущего элемента массива $char
  19.             // в массив $keys
  20.             ! $trigger ?: $keys[$key] = $char;
  21.             // Если значения всех элементов массива $keys равны строке "0123456789",
  22.             // выполнить следующие действия:
  23.             if (join($keys) == '0123456789') {
  24.                 // 1. Получить первый ключ из массива в переменную $k
  25.                 $k = array_keys($keys)[0];
  26.                 // 2. Получить подстроку из первого элемента массива (без последнего символа)
  27.                 $substr = substr($arr[$k], 0, -1);
  28.                 // 3. Произвести замену десяти элементов в массиве $arr, начиная с позиции $k
  29.                 array_splice($arr, $k, 10, $substr);
  30.                 // 4. Обнулить параметры (объявление переменных $keys и $trigger)
  31.                 extract( $var_ini() );
  32.             }
  33.         }
  34.     }
  35. }
 
 Top
Glomar
Отправлено: 30 Октября, 2018 - 12:55:03
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Окт. 2018  


Помог: 0 раз(а)




[quote=Строитель][/quote] Благодарю
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB