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 :: Вывод из массива

 PHP.SU

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


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

> Без описания
Glomar
Отправлено: 29 Октября, 2018 - 09:51:33
Post Id


Новичок


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


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




Идёт массив значений, требуется удалить последнее значение у группы, которая начинается (строго) от 0 до 9, если группа начинается с 1 до 9 то вывести как есть. Так же диапазон от 0 до 9 может быть в середине массива. Тут не совсем решить за меня, но СПАСИБО)). У меня получилось сделать удаление последнего значения у группы из массива, только в том случае если оно в начале массива выдает "Пример [2025000]", а вот если идёт обрыв и потом где нибудь в середине появляется группа значений (строго) от 0 до 9, то уже не удаляет.[img]https://upload.akusherstvo.ru/image1597284.png[/img]
 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 10:36:48
Post Id



Участник


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


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




Glomar, структура массива не помешала бы Однако...
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 10:57:27
Post Id


Новичок


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


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




Строитель пишет:
Glomar, структура массива не помешала бы Однако...

https://ibb[dot]co/mDjbVq - вывод массива
https://ibb[dot]co/h7wvOA - вывод массива

https://ibb[dot]co/eLXc3A - скрипт
https://ibb[dot]co/i3Sc3A - скрипт

(Отредактировано автором: 29 Октября, 2018 - 11:00:46)

 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 11:06:58
Post Id



Участник


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


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




Glomar, а как я скопирую структуру массива с ваших скриншотов? Вы простите помощи, и в то же время не предоставляете минимальный набор данных.
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 11:18:32
Post Id


Новичок


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


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




Строитель пишет:
Glomar, а как я скопирую структуру массива с ваших скриншотов? Вы простите помощи, и в то же время не предоставляете минимальный набор данных.


Вот файл с россвязи, из которого я беру все диапазоны в массив.
https://rossvyaz[dot]ru/opendata/771[dot][dot][dot]Kody_DEF-9kh[dot]csv

https://yadi[dot]sk/d/HNnloFIPIs0thA - обработчик (файл)
Я не совсем Вас понял, что Вы хотите

(Отредактировано автором: 29 Октября, 2018 - 11:19:24)

 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 11:58:44
Post Id



Участник


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


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




Glomar пишет:
Я не совсем Вас понял, что Вы хотите

Мне нужен исходный массив, а не ссылки на какие-то ресурсы.
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 12:50:36
Post Id


Новичок


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


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




Строитель пишет:
Glomar пишет:
Я не совсем Вас понял, что Вы хотите

Мне нужен исходный массив, а не ссылки на какие-то ресурсы.


С помощью это и получится исходник массива, в каком виде нужно его предоставить?
Таком?
CODE (html):
скопировать код в буфер обмена
  1.  
  2. $array = array(
  3.         array("2050000","2050001","2050002","2050003","2050004","2050005","2050006","2050007","2050008"),
  4.         array("2050010","2050011","2050012","2050013","2050014","2050015","2050016","2050017","2050018","2050019"),
  5.         array("2050030","2050031","2050032","2050033","2050034","2050035","2050036","2050037","2050038","2050039"),
  6. array("2050009"),
  7. array("2050020"),
  8.         array("2050022","2050023","2050024","2050025","2050026","2050028","2050029","2050030","2050031"),
  9. );
  10.  
 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 13:29:19
Post Id



Участник


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


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




Glomar, а где в этом массиве группы с 1 по 9?
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 13:33:06
Post Id


Новичок


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


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




Строитель пишет:
Glomar, а где в этом массиве группы с 1 по 9?

последнее значение у 2050000 = 0, 2050001 = 1, 2050002 = 2 и т.д.
группа от 0 до 9 это 2050000 2050001 2050002 2050003 2050004 2050005 2050006 2050007 2050008 2050009
 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 13:37:00
Post Id



Участник


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


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




Glomar, т.е. получается, что из приведённого выше массива подлежат удалению эти две группы:

array("2050010","2050011","2050012","2050013","2050014","2050015","2050016","2050017","2050018","2050019"),
array("2050030","2050031","2050032","2050033","2050034","2050035","2050036","2050037","2050038","2050039"),

Верно?
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 13:42:29
Post Id


Новичок


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


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




Строитель пишет:
Glomar, т.е. получается, что из приведённого выше массива подлежат удалению эти две группы:

array("2050010","2050011","2050012","2050013","2050014","2050015","2050016","2050017","2050018","2050019"),
array("2050030","2050031","2050032","2050033","2050034","2050035","2050036","2050037","2050038","2050039"),

Верно?


Удалению последнего символа, после, дальнейшему сравнению, до тех пор пока значений от 0 до 9 более не останется, таких значений по факту надо будет обрабатывать более 20 миллионов время работы скрипта 20 мин

array("205001","205001","205001","205001","205001","205001","205001","205001","205001","205001"), =>array("205001")
array("205003","205003","205003","205003","205003","205003","205003","205003","205003","205003"), => array("205003")

(Отредактировано автором: 29 Октября, 2018 - 13:46:08)

 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 13:45:48
Post Id



Участник


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


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




Glomar, теперь понятно - чуть позже напишу свой вариант решения.
 
 Top
Glomar
Отправлено: 29 Октября, 2018 - 13:47:14
Post Id


Новичок


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


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




Строитель пишет:
Glomar, теперь понятно - чуть позже напишу свой вариант решения.

Спасибо буду ждать, а то уже неделю не могу сдвинуться с этого
 
 Top
Строитель
Отправлено: 29 Октября, 2018 - 14:42:13
Post Id



Участник


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


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




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


Новичок


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


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




Цитата:
Строитель
Что-то но не совсем то. Там должна идти замена в массиве.

CODE (html):
скопировать код в буфер обмена
  1.  
  2. Array
  3. (
  4.     [0] => Array
  5.         (
  6.             [0] => 2050000
  7.             [1] => 2050001
  8.             [2] => 2050002
  9.             [3] => 2050003
  10.             [4] => 2050004
  11.             [5] => 2050005
  12.             [6] => 2050006
  13.             [7] => 2050007
  14.             [8] => 2050008
  15.         )
  16.  
  17.     [1] => Array
  18.         (
  19.             [0] => 205001
  20.         )
  21.  
  22.     [2] => Array
  23.         (
  24.             [0] => 205003
  25.         )
  26.  
  27.     [3] => Array
  28.         (
  29.             [0] => 2050009
  30.         )
  31.  
  32.     [4] => Array
  33.         (
  34.             [0] => 2050020
  35.         )
  36.  
  37.     [5] => Array
  38.         (
  39.             [0] => 2050022
  40.             [1] => 2050023
  41.             [2] => 2050024
  42.             [3] => 2050025
  43.             [4] => 2050026
  44.             [5] => 2050028
  45.             [6] => 2050029
  46.             [7] => 2050030
  47.             [8] => 2050031
  48.         )
  49.  
  50. )
  51. ]


Просто после я объединяю массивы в один с добавлением оператора и диапазона

CODE (html):
скопировать код в буфер обмена
  1.  
  2. (
  3.     [ИМЯ ОПЕРАТОРА] => Array
  4.         (
  5.              ..............
  6.  
  7.             [2050000] => какойтодиапазон
  8.             [2050001] => ...
  9.             [2050002] => ...
  10.             [2050003] => ...
  11.             [2050004] => ...
  12.             [2050005] => ...
  13.             [2050006] => ...
  14.             [2050007] => ...
  15.             [2050008] => ...
  16.             [205001] => ...
  17.             [205003] => ...
  18.             [2050009] => ...
  19.             [2050020] => ...
  20.             [2050022] => ...
  21.             [2050023] => ...
  22.             [2050024] => ...
  23.             [2050025] => ...
  24.             [2050026] => ...
  25.             [2050028] => ...
  26.             [2050029] => ...
  27.             [2050030] => ...
  28.             [2050031] => ...
  29.  
  30.              ..............
  31.         )
  32.  
  33. )
  34.  


Диапазоны перескакивают и могут быть абсолютно записаны не поочерёдно

(Отредактировано автором: 29 Октября, 2018 - 15:34:24)

 
 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