PHP.SU

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

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

> Найдено сообщений: 28
Noobster Отправлено: 28 Августа, 2019 - 13:38:13 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Решил ещё одну задачу когда надо было групировать массивы.

Теперь осталось:
1. Исключение: Когда указываю ключь для исключения напр. "id", он исключается во всех подмассивов, а для исключение в подмассивах я думаю указывать "[author_data][id]"


2. Может быть так что у записи нету какого-нибудь ключа, соотвественно не все значения идейтичные, поэтому надо выводить все ключи соотвественно по загаловку даже с пустым значением. Иначе сейчас проблемма когда какого-нибудь ключа нету и пропускает вывод ключа, т.е. выводит
[12]
[13]
[14]
[16]
[17]

Спасибо.
Noobster Отправлено: 26 Августа, 2019 - 06:42:35 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Готов на пива докинуть, помогите плз.
Вроде всего 2 условия.

Хех уже самому не ловко столько флудить Растерялся

Можно и алтернативно сделать, наоборот перечислить те ключи которые надо получасть из массива.
Noobster Отправлено: 24 Августа, 2019 - 12:10:56 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Если кто-то может подскажите другой код, если с этим никак получается доработать.
Спасибо.
Noobster Отправлено: 22 Августа, 2019 - 21:56:40 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Полных 2 дня не догоняю как сделать, всем кто помогли спасибо.

Кто может остальные 2 момента помогите доделать пожалуйста.

http://forum.php.su/topic.php?fo...91301#1566391301
п.1 и п.2

Спасибо!
Noobster Отправлено: 21 Августа, 2019 - 15:41:41 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
1. Понимаю что надо тут трогать:
PHP:
скопировать код в буфер обмена
  1. if (in_array($key, self::$excludes)) {
  2.     continue;
  3. }

Просто когда проверяю ключь он напр. "id", а в исключение прописываю напр. "[author_data][id]" или "author_data.id" Однако

2. Тоже не осилил, тупо цыфра выводится Однако

3. Сделал (тоже так думал)

Помогите добить Огорчение

Ещё вопрос на сколько объезательно или желательно писать в аргументах функции (array, string)

Про Питон: Ещё раз подниму вопрос, стоит ли переходить на него, если у меня знания ПШП только на Джуниор-Мидл Ур..
Noobster Отправлено: 21 Августа, 2019 - 14:42:15 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Вроде всё отлично работает как надо, супер вот только:

1. Если напр. я хочу исключить поле "id", но оно напр. находится в несколько массивах, тогда оно исключается во всех. Как можно исключить определёную? Может можно прописать ключь напр. так "product_data.id".

2. Сейчас оба результата "process" и "headers" по отдельности в массивах, мне надо на выходе 1 массив, где [0] ключи будет перечисление "headers" и дальше уже "process" (т.е. Заголовки и потом Данные). Пробовал array_merge, но что-то не то вроде

3. Как можно $excludes передавать сюда
PHP:
скопировать код в буфер обмена
  1. var_dump($f->process($in_arr), array_keys(Helper_Export::$headers));
т.е. он будет грузится за пределами класса.

Извините за тараканы. Растерялся
Noobster Отправлено: 20 Августа, 2019 - 14:53:27 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Это всё мне требуется для Экспорта данных, с разных источников, для разного формата.

И да верно, заранее я не знаю какие ключи и вложения будут, просто надо сделать макс. динамично, т.е. эту функцию я буду использовать для всех задач, и передавать её разное содержание массива.

Единственно только добавлю, что надо добавить некий статический массив, в который буду перечислять какие ключи надо исключать, чтобы в результате не выводились.

Спаисбо, и быстрого выздоровления желаю.
Noobster Отправлено: 20 Августа, 2019 - 14:35:48 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Vladimir Kheifets, большое спасибо уважаемый ещё раз! (не могу +1 поставить)

LIME, можешь и свой вариант показать?
Если чество записей может быть до 30к, как будет тут работать производительность сложно заранее подумать, ну а читаемость если самого кода, вроде ясно, а если результата, тут без разницы.

Просто если честно в одном случае может быть author_data, а вдругом может быть product_data, и оба с разными ключами, соотвественно динамичность хотелось бы.

И ещё мообще 3ур. массив может быть, т.е. по идее мне надо получить разбивку виде.
PHP:
скопировать код в буфер обмена
  1. Header_date
  2. Header_name
  3. Header_surname
  4. Header_author_data_id
  5. Header_author_data_company_id
  6. Header_author_data_passport_number
  7. Header_author_data_...


Спасибо.
Noobster Отправлено: 19 Августа, 2019 - 13:37:52 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Вроде работает, Можно как-то получить с много ур. массивом? т.е. если имеется:
PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.     (
  4.         [id] => 1319
  5.         [status] => 0
  6.         [author_id] => 1000
  7.         [client_id] => 1333
  8.         [date] => 2019-08-15 21:21:03
  9.         [name] => Maxim
  10.         [surname] => Malogin
  11.         [comment] => VPI client
  12.         [author_data] => Array
  13.         (
  14.             [id] => 1000
  15.             [is_avatar] => 1
  16.             [username] => Maxim Malogin
  17.             [company_id] =>
  18.             [passport_number] => 112233
  19.             [mobile_phone] =>
  20.             [email] => max@mail.ru
  21.         )
  22.     )
  23.  
  24.     [1] => Array
  25.     (
  26.         [id] => 1318
  27.         [status] => 0
  28.         [author_id] => 1000
  29.         [client_id] => 1333
  30.         [date] => 2019-08-15 16:29:30
  31.         [name] => Oleg
  32.         [surname] => Dinisov
  33.         [comment] => No accept
  34.         [author_data] => Array
  35.         (
  36.             [id] => 1000
  37.             [is_avatar] => 1
  38.             [username] => Oleg Dinisov
  39.             [company_id] =>
  40.             [passport_number] => 332211
  41.             [mobile_phone] =>
  42.             [email] => oleg@mail.ru
  43.         )
  44.     )
  45. )


Получить так:
PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.     (
  4.         [0] => Header_id
  5.         [1] => Header_status
  6.         [2] => Header_author_id
  7.         [3] => Header_client_id
  8.         [4] => Header_date_start
  9.         [5] => Header_name
  10.         [6] => Header_surname
  11.         [7] => Header_comment
  12.         [8] => Header_author_data_username
  13.         [9] => Header_author_data_passport_number
  14.         [10] => Header_author_data_mobile_phone
  15.         [11] => Header_author_data_email
  16.     )
  17.     [1] => Array
  18.     (
  19.         [0] => 1319
  20.         [1] => 0
  21.         [2] => 1000
  22.         [3] => 1333
  23.         [4] => 2019-08-15 21:21:03
  24.         [5] => Maxim
  25.         [6] => Malogin
  26.         [7] => VPI client
  27.         [8] => Maxim Malogin
  28.         [9] => 112233
  29.         [10] =>
  30.         [11] => max@mail.ru
  31.     )
  32.     [2] => Array
  33.     (
  34.         [0] => 1318
  35.         [1] => 0
  36.         [2] => 1000
  37.         [3] => 1333
  38.         [4] => 2019-08-15 16:29:30
  39.         [5] => Oleg
  40.         [6] => Dinisov
  41.         [7] => No accept
  42.         [8] => Oleg Dinisov
  43.         [9] => 332211
  44.         [10] =>
  45.         [11] => oleg@mail.ru
  46.     )
  47. )
Noobster Отправлено: 16 Августа, 2019 - 14:38:28 • Тема: Статическая страница с оплатой • Форум: Вопросы новичков

Ответов: 1
Просмотров: 157
Если честно всё довольно просто, макс. работа на 2ч.-3ч.
Вот детальное инфо. https://www[dot]liqpay[dot]ua/documentation/start
Noobster Отправлено: 15 Августа, 2019 - 22:21:21 • Тема: Поменять ключь массиву • Форум: Вопросы новичков

Ответов: 16
Просмотров: 915
Есть массив
PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.         [id] => 1319
  5.         [status] => 0
  6.         [author_id] => 1000
  7.         [client_id] => 1333
  8.         [date] => 2019-08-15 21:21:03
  9.         [name] => Maxim
  10.         [surname] => Malogin
  11.         [comment] => VPI client
  12.     )
  13.  
  14.     [1] => Array
  15.     (
  16.         [id] => 1318
  17.         [status] => 0
  18.         [author_id] => 1000
  19.         [client_id] => 1333
  20.         [date] => 2019-08-15 16:29:30
  21.         [name] => Oleg
  22.         [surname] => Dinisov
  23.         [comment] => No accept
  24.     )
  25. )


Как его преобразовать чтобы на выходе получить:
PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.     (
  4.         [0] => id
  5.         [1] => status
  6.         [2] => author_id
  7.         [3] => client_id
  8.         [4] => date_start
  9.         [5] => name
  10.         [6] => surname
  11.         [7] => comment
  12.     )
  13.     [1] => Array
  14.     (
  15.         [0] => 1319
  16.         [1] => 0
  17.         [2] => 1000
  18.         [3] => 1333
  19.         [4] => 2019-08-15 21:21:03
  20.         [5] => Maxim
  21.         [6] => Malogin
  22.         [7] => VPI client
  23.     )
  24.     [2] => Array
  25.     (
  26.         [0] => 1318
  27.         [1] => 0
  28.         [2] => 1000
  29.         [3] => 1333
  30.         [4] => 2019-08-15 16:29:30
  31.         [5] => Oleg
  32.         [6] => Dinisov
  33.         [7] => No accept
  34.     )
  35. )


Спасибо.
Noobster Отправлено: 04 Августа, 2019 - 17:41:29 • Тема: Преобразование массива и суммирование • Форум: Вопросы новичков

Ответов: 5
Просмотров: 380
Please Help Огорчение Не понял
Noobster Отправлено: 02 Августа, 2019 - 20:29:50 • Тема: Преобразование массива и суммирование • Форум: Вопросы новичков

Ответов: 5
Просмотров: 380
Да, во пробую, понимаю что криво, но всё же.

PHP:
скопировать код в буфер обмена
  1. $break = [];
  2. foreach ($array as $value => $key){
  3.     $break[$key['cat_id']] += $value['amount'];
  4. }


Update: Я привёл только часть массива, он содержит на много больше ключей.
Noobster Отправлено: 01 Августа, 2019 - 17:32:04 • Тема: Когда переходить на Питон • Форум: Другие языки программирования

Ответов: 1
Просмотров: 608
Имею знания PHP на сред. ур. знаком с ОПП, и работал с некоторыми фреймворками.

Интересует перейти на новый яз. Питон.
Стоит вопрос, стоит ли хорошо подучить ПШП включая фреймворки более глубоко, или особо смысла нету и можно сразу переходить на Питон.

Спасибо.
Noobster Отправлено: 01 Августа, 2019 - 15:45:01 • Тема: Исключить записи из массива • Форум: Вопросы новичков

Ответов: 2
Просмотров: 146
Имеется массив, из которого надо исключить все ключи у которых status = 0, как я понял надо использовать array_search и unset

PHP:
скопировать код в буфер обмена
  1. (
  2. [0] => Array
  3.         (
  4.                 [id] => 722
  5.                 [status] => 1
  6.                 [capacity] => 20
  7.         )
  8.  
  9. [1] => Array
  10.         (
  11.                 [id] => 721
  12.                 [status] => 1
  13.                 [capacity] => 120
  14.         )
  15.  
  16. [2] => Array
  17.         (
  18.                 [id] => 720
  19.                 [status] => 0
  20.                 [capacity] => 30
  21.         )
  22.  
  23. [3] => Array
  24.         (
  25.                 [id] => 719
  26.                 [status] => 1
  27.                 [capacity] => 70
  28.         )
  29.  
  30. [4] => Array
  31.         (
  32.                 [id] => 718
  33.                 [status] => 0
  34.                 [capacity] => 20
  35.         )
  36.  
  37. [5] => Array
  38.         (
  39.                 [id] => 717
  40.                 [status] => 0
  41.                 [capacity] => 20
  42.         )
  43. )

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB