2014-08-28 2 views
-6

У меня есть массив, который возвращает ключи и значения.Как напечатать или получить определенное значение в ассоциативном массиве (PHP)

<?php 

print_r(array_values($arResult["DISPLAY_PROPERTIES"])); 
$arresults = $arResult["DISPLAY_PROPERTIES"]; 

    ?> 

Код выше будет показывать этот результат:

Array ([0] => Array 
     ([ID] => 29 
     [TIMESTAMP_X] => 2014-08-26 08:23:13 
     [IBLOCK_ID] => 3 
     [NAME] => ProductID 
     [ACTIVE] => Y 
     [SORT ] => 500 
     [CODE] => product_id 
     [DEFAULT_VALUE] => 
     [PROPERTY_TYPE] => S 
     [ROW_COUNT] => 1 
     [COL_COUNT] => 30 
     [LIST_TYPE] => L 
     [MULTIPLE] => N 
     [XML_ID] => [file_type] => 
     [MULTIPLE_CNT] => 5 
     [TMP_ID] => 
     [LINK_IBLOCK_ID] => 0 
     [WITH_DESCRIPTION] => N 
     [SEARCHABLE] => N 
     [filtrable] => N 
     [IS_REQUIRED] => N 
     [VERSION] = > 1 
     [user_type] => 
     [USER_TYPE_SETTINGS] => 
     [HINT] => 
     [PROPERTY_VALUE_ID] => 11880 
     [VALUE] => PCA.CD08.21.A1 
     [DESCRIPTION] => 
     [VALUE_ENUM] => 
     [VALUE_XML_ID] => 
     [VALUE_SORT] => 
     [~ VALUE] => PCA.CD08.21.A1 
     [~ DESCRIPTION] => 
     [~ NAME] => ProductID 
     [~ DEFAULT_VALUE] => 
     [display_value] => PCA.CD08.21.A1) 
    ) 

Проблема: Как я могу показать значение PCA.CD08.21.A1 .. Что делать PHP код я использовать только для отображения PCA.CD08.21.A1?

Пожалуйста, Пожалуйста, помогите мне ...

+0

Что делает следующий Принг? print_r ($ arResult [ 'Display_Properties']); потому что array_values ​​удаляет ключ –

+1

@vizvi О том, чтобы сделать то же самое ... Redshot, пожалуйста, отформатируйте свой вопрос, чтобы он был легко читаемым и позволял людям отвечать на него - это только в ваших интересах. – Fluffeh

ответ

2

Вы можете просто получить доступ к значению непосредственно:

echo $arResult['DISPLAY_PROPERTIES'][0]['VALUE']; 

Однако, вы должны заменить индекс 0 с соответствующим индексом, так как вызова array_values() на $arResult будет численно переиндексировать его.

+0

То же самое здесь, индекс 0 является результатом метода array_values, лучше получить доступ к нему правой клавишей –

+0

Спасибо, исправлено :) –

0

Это то, что вам нужно?

$display_value = $arResult["DISPLAY_PROPERTIES"][0]["display_value"] 

Имея в виду, что мы не знаем, что первый ключ в массиве вы можете сделать следующее:

$arr = array_shift($arResult["DISPLAY_PROPERTIES"]); 
$display_value = $arr["display_value"]; 
+0

0 индекс - результат array_values, поэтому он не должен даже использовать метод array_values ​​и получить доступ к нему по имени –

0
foreach($arResult["DISPLAY_PROPERTIES"] as $key => $value) 
{ 
if($key == 'VALUE') 
    echo $value; 
} 
Смежные вопросы