|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
cppGhost |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 101 Регистрация: 24.4.2013 Репутация: нет Всего: нет |
День добрый, есть у меня переменная $arResult. и если ее вывести через print_r, то в ней будет вот такая штука. У меня никак не получается достать цену. запись типа $arResult["SUM"] или $arResult["PRICE"] не выходит. Буду благодарен за любую помощь
Array ( [0] => Array ( ) [1] => Array ( [ID] => 1 [PAY_SYSTEM_ID] => 1 [PERSON_TYPE_ID] => 1 [NAME] => Оплата наличными или картой при получении [PSA_NAME] => Оплата наличными или картой при получении [CODE] => [SORT] => 80 [ACTION_FILE] => /bitrix/modules/sale/payment/cash [RESULT_FILE] => [DESCRIPTION] => Оплата наличными при получении заказа курьеру. [NEW_WINDOW] => N [PARAMS] => [TARIF] => [PS_MODE] => [HAVE_PAYMENT] => Y [HAVE_ACTION] => N [HAVE_RESULT] => N [HAVE_PREPAY] => N [HAVE_PRICE] => N [HAVE_RESULT_RECEIVE] => N [ENCODING] => [LOGOTIP] => Array ( [ID] => 626 [TIMESTAMP_X] => 31.01.2017 22:46:37 [MODULE_ID] => sale [HEIGHT] => 48 [WIDTH] => 48 [FILE_SIZE] => 17829 [CONTENT_TYPE] => image/png [SUBDIR] => sale/paysystem/logotip/05a [FILE_NAME] => 05a74e85b6e59698705f5b2f72f43eae.png [ORIGINAL_NAME] => cash.png [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => 0931ab4535b6be4f8e70acb97f95f50c [~src] => [SRC] => /upload/sale/paysystem/logotip/05a/05a74e85b6e59698705f5b2f72f43eae.png ) [ACTIVE] => Y [ALLOW_EDIT_PAYMENT] => Y [IS_CASH] => N [AUTO_CHANGE_1C] => N [CAN_PRINT_CHECK] => N [BUFFERED_OUTPUT] => [IS_AFFORD_PDF] => [PATH_TO_ACTION] => /home/m/mboot/bitrix_4/public_html/bitrix/modules/sale/payment/cash/payment.php ) [2] => Array ( ) [3] => Array ( ) [4] => Array ( ) [5] => Array ( ) [6] => Array ( ) [7] => Array ( ) [8] => Array ( ) [9] => [10] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => [15] => Array ( ) [16] => RUB [17] => кг [18] => 1000 [19] => Array ( ) [20] => 0 [21] => 0 [22] => 0 [23] => 0 [24] => [25] => [26] => [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => Array ( ) [36] => Array ( [new_user_registration_email_confirmation] => N [new_user_registration] => Y [new_user_email_required] => N ) [37] => [38] => Array ( ) [39] => [40] => Array ( ) [41] => Array ( [DEFAULT_COLUMNS] => ) [42] => Array ( [CONFIRM_ORDER] => Y ) [43] => 736 [44] => 736 [45] => Array ( [736] => Array ( [ID] => 736 [ORDER_ID] => 736 [ACCOUNT_NUMBER] => 736/1 [PAID] => N [DATE_PAID] => [EMP_PAID_ID] => [PAY_SYSTEM_ID] => 1 [PS_STATUS] => [PS_STATUS_CODE] => [PS_INVOICE_ID] => [PS_STATUS_DESCRIPTION] => [PS_STATUS_MESSAGE] => [PS_SUM] => [PS_CURRENCY] => [PS_RESPONSE_DATE] => [PAY_VOUCHER_NUM] => [PAY_VOUCHER_DATE] => [DATE_PAY_BEFORE] => [DATE_BILL] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2018-04-04 16:23:12.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [XML_ID] => [SUM] => 5900.0000 [PRICE_COD] => 0.0000 [CURRENCY] => RUB [PAY_SYSTEM_NAME] => Оплата наличными или картой при получении [RESPONSIBLE_ID] => [EMP_RESPONSIBLE_ID] => [DATE_RESPONSIBLE_ID] => [COMMENTS] => [COMPANY_ID] => 0 [PAY_RETURN_NUM] => [PAY_RETURN_DATE] => [EMP_RETURN_ID] => [PAY_RETURN_COMMENT] => [IS_RETURN] => N [MARKED] => N [DATE_MARKED] => [EMP_MARKED_ID] => [REASON_MARKED] => [UPDATED_1C] => N [ID_1C] => [VERSION_1C] => [EXTERNAL_PAYMENT] => N ) ) [46] => Array ( [1] => Array ( [ID] => 1 [PAY_SYSTEM_ID] => 1 [PERSON_TYPE_ID] => 1 [NAME] => Оплата наличными или картой при получении [PSA_NAME] => Оплата наличными или картой при получении [CODE] => [SORT] => 80 [ACTION_FILE] => /bitrix/modules/sale/payment/cash [RESULT_FILE] => [DESCRIPTION] => Оплата наличными при получении заказа курьеру. [NEW_WINDOW] => N [PARAMS] => [TARIF] => [PS_MODE] => [HAVE_PAYMENT] => Y [HAVE_ACTION] => N [HAVE_RESULT] => N [HAVE_PREPAY] => N [HAVE_PRICE] => N [HAVE_RESULT_RECEIVE] => N [ENCODING] => [LOGOTIP] => Array ( [ID] => 626 [TIMESTAMP_X] => 31.01.2017 22:46:37 [MODULE_ID] => sale [HEIGHT] => 48 [WIDTH] => 48 [FILE_SIZE] => 17829 [CONTENT_TYPE] => image/png [SUBDIR] => sale/paysystem/logotip/05a [FILE_NAME] => 05a74e85b6e59698705f5b2f72f43eae.png [ORIGINAL_NAME] => cash.png [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => 0931ab4535b6be4f8e70acb97f95f50c [~src] => [SRC] => /upload/sale/paysystem/logotip/05a/05a74e85b6e59698705f5b2f72f43eae.png ) [ACTIVE] => Y [ALLOW_EDIT_PAYMENT] => Y [IS_CASH] => N [AUTO_CHANGE_1C] => N [CAN_PRINT_CHECK] => N [BUFFERED_OUTPUT] => [IS_AFFORD_PDF] => [PATH_TO_ACTION] => /home/m/mboot/bitrix_4/public_html/bitrix/modules/sale/payment/cash/payment.php ) ) [47] => Array ( [ID] => 736 [LID] => s1 [ACCOUNT_NUMBER] => 736 [TRACKING_NUMBER] => [PAY_SYSTEM_ID] => 1 [DELIVERY_ID] => 10 [DATE_INSERT] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2018-04-04 16:23:12.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [DATE_UPDATE] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2018-04-04 16:23:12.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [PERSON_TYPE_ID] => 1 [USER_ID] => 1 [PAYED] => N [DATE_PAYED] => [EMP_PAYED_ID] => [DEDUCTED] => N [DATE_DEDUCTED] => [EMP_DEDUCTED_ID] => [REASON_UNDO_DEDUCTED] => [STATUS_ID] => N [DATE_STATUS] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2018-04-04 16:23:12.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [EMP_STATUS_ID] => 1 [MARKED] => N [DATE_MARKED] => [EMP_MARKED_ID] => [REASON_MARKED] => [PRICE_DELIVERY] => 0.0000 [ALLOW_DELIVERY] => N [DATE_ALLOW_DELIVERY] => [EMP_ALLOW_DELIVERY_ID] => [RESERVED] => N [PRICE] => 5900.0000 [CURRENCY] => RUB [DISCOUNT_VALUE] => 0.0000 [TAX_VALUE] => 0.00 [SUM_PAID] => 0.00 [USER_DESCRIPTION] => [PAY_VOUCHER_NUM] => [PAY_VOUCHER_DATE] => [ADDITIONAL_INFO] => [COMMENTS] => [COMPANY_ID] => 0 [CREATED_BY] => 1 [RESPONSIBLE_ID] => [STAT_GID] => [DATE_PAY_BEFORE] => [DATE_BILL] => [IS_RECURRING] => N [RECURRING_ID] => [LOCKED_BY] => [DATE_LOCK] => [RECOUNT_FLAG] => Y [AFFILIATE_ID] => [DELIVERY_DOC_NUM] => [DELIVERY_DOC_DATE] => [UPDATED_1C] => N [ORDER_TOPIC] => [XML_ID] => [ID_1C] => [VERSION_1C] => [VERSION] => 0 [EXTERNAL_ORDER] => N [STORE_ID] => [CANCELED] => N [EMP_CANCELED_ID] => [DATE_CANCELED] => [REASON_CANCELED] => [BX_USER_ID] => 544371a2469e61b53b66e7d396849462 [RUNNING] => N [IS_ALLOW_PAY] => Y [PAYMENT_ID] => 736 ) ) |
|||
|
||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
Такого [CODE] => [SORT] => 80 [ACTION_FILE] => ... в массиве быть не может, и выводить массив нужно в тег PRE, и такой результат показывать, если хотите получить ответ.
|
|||
|
||||
krundetz |
|
||||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
print_r не очень удобен, лучше воспользуйтесь функцией var_dump
а ещё лучше сделайте вот так:
а вообще какой то PRICE в массиве явно есть
|
||||
|
|||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
||||
|
||||
cppGhost |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 101 Регистрация: 24.4.2013 Репутация: нет Всего: нет |
то есть простого обращения типа $arResult["PRICE"] нет?
|
|||
|
||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
Если это первичный ключ массива, то можно, но если это в двадцатом колене вложенность, то кончено же нет. Вы же не пишите писем "на деревню дедушке", не дойдет, нужно будет указать имя деревни, где эта деревня, и фамилию дедушки. Это сообщение отредактировал(а) whatisnot - 4.4.2018, 20:55 |
|||
|
||||
cppGhost |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 101 Регистрация: 24.4.2013 Репутация: нет Всего: нет |
А если как то рекурсивно пробежаться по всем элементам и найти этот самый ключ SUM?
|
|||
|
||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
Можно и рекурсивно обойти, если не знать расположение, если же известно, то просто сразу обратиться.
|
|||
|
||||
krundetz |
|
||||||||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
тем что если он содержит пустые строки, значения null и false, то структуру массива смотреть не удобно, особенно если его вывели как обычную строку
ваше же утверждение, а здесь всего лишь пустые значения и вывод в одну строку. А по вашему уже не массив. код:
вывод:
вот я вас попросил, да и whatisnot сделать форматированный вывод, потрудитесь немного, тогда получите ответ на свой вопрос |
||||||||
|
|||||||||
whatisnot |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
Вы уверены в том, что говорите? Не надо путать мух с котлетами. В чем противоречие вывода массива $str = array('1' => '', '2' => null, '3' => false, '4' => 4); посредством print_r? Нахрена мне var_dum, если мне нужно узнать структуру массива? Пусто или NULL ее никак не нарушат, и не они приводят к ошибкам [key] => [key] => ... Не пудрите мине мозги. |
||||
|
|||||
krundetz |
|
||||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
вы переоцениваете свою важность для меня
1. ругаться не хорошо 2. использовать чтобы не писать вот этого:
опять повторю что это ваши слова, не мои. Повторю ещё раз ошибки там нет и при использование print_r вывод таким быть может. Смотрите приведенный мной код. cppGhost попробуй обратится к $arResult[47]["PRICE"] и $arResult[45][736]["SUM"], но думаю тебе не помешает разобраться в том почему они у тебя хранятся под такими индексами Это сообщение отредактировал(а) krundetz - 6.4.2018, 10:38 |
||||
|
|||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
krundetz, вы может объяснить каким образом незнание или непонимание работы функции, что приводит к таким визуальным ошибками как ключ => ключ =>, может делать автоматически функцию неудобной? var_dump вне тега pre тоже строка и она ничем не лучше print_r, ибо массив как строковое представление в любой из этих функций не дает понимания о его структуре, то бишь где есть нужный нам ключ. А именно это и нужно автору знать, чтобы понимать что предпринять. Ну будь массив в три элемента куда ни шло, но такая портянка... Чем var_dump лучше, что поможет?
Ну что за безапелляционные заявления. Это равноценно как сказать XML полный отстой, не видно типов, не смотря на то, что есть XCD. Это сообщение отредактировал(а) whatisnot - 6.4.2018, 13:21 |
|||
|
||||
krundetz |
|
||||||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
хм, это вы называете безапелляционным? именно незнание ТС предмета делает функцию print_r крайне неудобной. Он пока не разберется в предмете так и продолжит себе этой функцией пальцы прищемлять. Да и вас она в заблуждение ввела.
ваши же слова? По заявлению разработчиков
вот объясните мне как пустая строка (вместо false или null) будет удобочитаемой? Особенно новичкам, которые с собственных массивах разобраться не могут? Поэтому я и рекомендую использовать var_dump. Это сообщение отредактировал(а) krundetz - 6.4.2018, 15:41 |
||||||
|
|||||||
whatisnot |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 130 Регистрация: 14.12.2014 Репутация: 1 Всего: 2 |
krundetz, все что вы пишите философия на голом месте, мануал автору надо читать, ибо какой бы функцией не вывести портянку его массива вне тега pre, она ему ничего не подскажет. Для понимания где искать нужное, нужно видеть структур массива, а ее надо знать как выводить корректно, все ваши остальные доводы от лукавого.
|
|||
|
||||
krundetz |
|
|||
Вечный странник Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
у меня как раз обратное впечатление. Я вам аргументировал и кодом и цитатами из мануала. От вас я увидел только поток сознания. Вы не ответили ни на один мой вопрос, хотя их было несколько. Последний вопрос такой зачем мне нужна функция print_r, если все тоже самое и даже больше я получу используя var_dump или var_export? |
|||
|
||||
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |