Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вытащить значение из массива 
:(
    Опции темы
cppGhost
Дата 4.4.2018, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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 ) )
PM MAIL   Вверх
whatisnot
Дата 4.4.2018, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Такого [CODE] => [SORT] => 80 [ACTION_FILE] => ... в массиве быть не может, и выводить массив нужно в тег PRE, и такой результат показывать, если хотите получить ответ.
PM MAIL   Вверх
krundetz
Дата 4.4.2018, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



print_r не очень удобен, лучше воспользуйтесь функцией var_dump

а ещё лучше сделайте вот так:
Код

echo '<pre>';
var_dump($arResult);
exit; // чтобы лишнего не было, только вот не помню перехватывает ее битрикс или нет


а вообще какой то PRICE в массиве явно есть

Код

[PRICE] => 5900.0000



--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
whatisnot
Дата 4.4.2018, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(krundetz @  4.4.2018,  18:35 Найти цитируемый пост)
print_r не очень удобен


Чем? Если нужно лицезреть типы, то var_dump, а если нужно глянуть на структуру массива, то var_dump как раз лишнее.
PM MAIL   Вверх
cppGhost
Дата 4.4.2018, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.4.2013

Репутация: нет
Всего: нет



то есть простого обращения типа $arResult["PRICE"] нет?
PM MAIL   Вверх
whatisnot
Дата 4.4.2018, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(cppGhost @  4.4.2018,  20:18 Найти цитируемый пост)
то есть простого обращения типа $arResult["PRICE"] нет? 


Если это первичный ключ массива, то можно, но если это в двадцатом колене вложенность, то кончено же нет. Вы же не пишите писем "на деревню дедушке", не дойдет, нужно будет указать имя деревни, где эта деревня, и фамилию дедушки.  


Это сообщение отредактировал(а) whatisnot - 4.4.2018, 20:55
PM MAIL   Вверх
cppGhost
Дата 5.4.2018, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.4.2013

Репутация: нет
Всего: нет



А если как то рекурсивно пробежаться по всем элементам и найти этот самый ключ SUM?
PM MAIL   Вверх
whatisnot
Дата 5.4.2018, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Можно и рекурсивно обойти, если не знать расположение, если же известно, то просто сразу обратиться.
PM MAIL   Вверх
krundetz
Дата 5.4.2018, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(whatisnot @  4.4.2018,  18:38 Найти цитируемый пост)
Чем? Если нужно лицезреть типы, то var_dump, а если нужно глянуть на структуру массива, то var_dump как раз лишнее. 

тем что если он содержит пустые строки, значения null и false, то структуру массива смотреть не удобно, особенно если его вывели как обычную строку
Цитата(whatisnot @  4.4.2018,  16:44 Найти цитируемый пост)
Такого [code=php] => [SORT] => 80 [ACTION_FILE] => ... в массиве быть не может

ваше же утверждение, а здесь всего лишь пустые значения и вывод в одну строку. А по вашему уже не массив.  smile 

код:
Код

<pre>
<?php

$str = array('1' => '', '2' => null, '3' => false, '4' => 4);

print_r($str);

var_dump($str);


вывод:
Код

Array
(
    [1] => 
    [2] => 
    [3] => 
    [4] => 4
)
array(4) {
  [1]=>
  string(0) ""
  [2]=>
  NULL
  [3]=>
  bool(false)
  [4]=>
  int(4)
}


Цитата(cppGhost @  4.4.2018, 20:18 Найти цитируемый пост)
то есть простого обращения типа $arResult["PRICE"] нет?

вот я вас попросил, да и whatisnot сделать форматированный вывод, потрудитесь немного, тогда получите ответ на свой вопрос


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
whatisnot
Дата 5.4.2018, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



Цитата(krundetz @  5.4.2018,  15:42 Найти цитируемый пост)
тем что если он содержит пустые строки, значения null и false, то структуру массива смотреть не удобно, особенно если его вывели как обычную строку


Цитата(krundetz @  5.4.2018,  15:42 Найти цитируемый пост)
ваше же утверждение, а здесь всего лишь пустые значения и вывод в одну строку. А по вашему уже не массив. 


Вы уверены в том, что говорите? Не надо путать мух с котлетами. 

В чем противоречие вывода массива $str = array('1' => '', '2' => null, '3' => false, '4' => 4); посредством print_r? Нахрена мне var_dum, если мне нужно узнать структуру массива? Пусто или NULL ее никак не нарушат, и не они приводят к ошибкам [key] => [key] => ...

Не пудрите мине мозги.   

PM MAIL   Вверх
krundetz
Дата 6.4.2018, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(whatisnot @  5.4.2018,  16:29 Найти цитируемый пост)
Не пудрите мине мозги.  

вы переоцениваете свою важность для меня

Цитата(whatisnot @  5.4.2018,  16:29 Найти цитируемый пост)
Нахрена мне var_dum, если мне нужно узнать структуру массива? Пусто или NULL ее никак не нарушат, и не они приводят к ошибкам [key] => [key] => ...

1. ругаться не хорошо
2. использовать чтобы не писать вот этого:
Цитата(whatisnot @  4.4.2018,  16:44 Найти цитируемый пост)
Такого [CODE] => [SORT] => 80 [ACTION_FILE] => ... в массиве быть не может

опять повторю что это ваши слова, не мои. Повторю ещё раз ошибки там нет и при использование print_r вывод таким быть может. Смотрите приведенный мной код.

cppGhost
попробуй обратится к $arResult[47]["PRICE"] и $arResult[45][736]["SUM"], но думаю тебе не помешает разобраться в том почему они у тебя хранятся под такими индексами


Это сообщение отредактировал(а) krundetz - 6.4.2018, 10:38


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
whatisnot
Дата 6.4.2018, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



krundetz, вы может объяснить каким образом незнание или непонимание работы функции, что приводит к таким визуальным ошибками как ключ => ключ =>, может делать автоматически функцию неудобной? var_dump вне тега pre тоже строка и она ничем не лучше print_r, ибо массив как строковое представление в любой из этих функций не дает понимания о его структуре, то бишь где есть нужный нам ключ. А именно это и нужно автору знать, чтобы понимать что предпринять. Ну будь массив в три элемента куда ни шло, но такая портянка... Чем var_dump лучше, что поможет?

Ну что за безапелляционные заявления. Это равноценно как сказать XML полный отстой, не видно типов, не смотря на то, что есть XCD.      

Это сообщение отредактировал(а) whatisnot - 6.4.2018, 13:21
PM MAIL   Вверх
krundetz
Дата 6.4.2018, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(whatisnot @  6.4.2018,  13:20 Найти цитируемый пост)
Ну что за безапелляционные заявления. Это равноценно как сказать XML полный отстой, не видно типов, не смотря на то, что есть XCD. 

хм,
Цитата(krundetz @  4.4.2018,  18:35 Найти цитируемый пост)
print_r не очень удобен, лучше воспользуйтесь функцией var_dump

это вы называете безапелляционным?
Цитата(whatisnot @  6.4.2018,  13:20 Найти цитируемый пост)
 вы может объяснить каким образом незнание или непонимание работы функции, что приводит к таким визуальным ошибками как ключ => ключ =>, может делать автоматически  функцию неудобной?

именно незнание ТС предмета делает функцию print_r крайне неудобной. Он пока не разберется в предмете так и продолжит себе этой функцией пальцы прищемлять.
Да и вас она в заблуждение ввела.
Цитата(whatisnot @  4.4.2018,  16:44 Найти цитируемый пост)
Такого [CODE] => [SORT] => 80 [ACTION_FILE] => ... в массиве быть не может

ваши же слова?

По заявлению разработчиков
Цитата

print_r — Выводит удобочитаемую информацию о переменной

вот объясните мне как пустая строка (вместо false или null) будет удобочитаемой? Особенно новичкам, которые с собственных массивах разобраться не могут?

Поэтому я и рекомендую использовать var_dump.




Это сообщение отредактировал(а) krundetz - 6.4.2018, 15:41


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
whatisnot
Дата 6.4.2018, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 14.12.2014

Репутация: 1
Всего: 2



krundetz, все что вы пишите философия на голом месте, мануал автору надо читать, ибо какой бы функцией не вывести портянку его массива вне тега pre, она ему ничего не подскажет. Для понимания где искать нужное, нужно видеть структур массива, а ее надо знать как выводить корректно, все ваши остальные доводы от лукавого.
PM MAIL   Вверх
krundetz
Дата 9.4.2018, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(whatisnot @  6.4.2018,  18:43 Найти цитируемый пост)
krundetz, все что вы пишите философия на голом месте

у меня как раз обратное впечатление.

Я вам аргументировал и кодом и цитатами из мануала. От вас я увидел только поток сознания. Вы не ответили ни на один мой вопрос, хотя их было несколько.

Последний вопрос такой зачем мне нужна функция print_r, если все тоже самое и даже больше я получу используя var_dump или var_export?




--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1782 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.