2012-04-25 3 views
0

Я пишу скрипт PHP для работы с некоторыми данными JSON. Ниже приведено (сокращенно) var_dump($data). Я хочу вернуть значение, связанное с ["[question(13), option(0)]"], которое равно 20. Я не могу понять, как это сделать. Я пробовал $data->[question(13), option(0)] и $data->question(13). (Я попытался посмотреть это вверх, но я не уверен, что такое обозначение, так что я не уверен, что я искал)PHP возвращать переменные объекта внутри массива

object(stdClass)#133 (36) { 
    ["id"]=> 
    string(1) "1" 
    ["contact_id"]=> 
    string(0) "" 
    ["status"]=> 
    string(8) "Complete" 
    ["is_test_data"]=> 
    string(1) "0" 
    ["datesubmitted"]=> 
    string(19) "2012-04-19 17:11:00" 
    ["[question(5)]"]=> 
    string(11) "C. 40%, 40%" 
    ["[question(9)]"]=> 
    string(47) "D. EBITDA and Free cash flow are the same thing" 
    ["[question(10)]"]=> 
    string(48) "A. Accounts Payable as % of sales would increase" 
    ["[question(11)]"]=> 
    string(20) "E. None of the above" 
    ["[question(12)]"]=> 
    string(97) "A.  A larger portion of initial investment is equity which can increase exit return potential." 
    ["[question(13), option(0)]"]=> 
    string(2) "20" 
    ["[url("embed")]"]=> 
    string(0) "" 
    ["[variable("STANDARD_IP")]"]=> 
    string(13) "38.107.74.230" 
    ["[variable("STANDARD_LONG")]"]=> 
    string(10) "-73.976303" 
    ["[variable("STANDARD_LAT")]"]=> 
    string(9) "40.761902" 
} 
+0

Вы должны действительно иметь свои свойства следуют общие переменные условности имен. –

ответ

3

Любого использование дополнительного обозначения доступа объекта:

$data->{'[question(13), option(0)]'} 

Или просто запросите нормальный массив и используйте его как обычный массив.

json_decode($json, true); 
+0

Очень хороший ответ. Не могу сказать лучше. – powtac

+0

Ahhh ... печально известные фигурные скобки. Благодаря! Из любопытства, что означает эта нотация? Являются ли эти переменные экземпляра объекта? – emersonthis

+0

@ Эмерсон: Да, они есть. Подробнее см. Http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php. – xfix

1

попробовать этот

echo $data->{'[question(13), option(0)]'}; 
Смежные вопросы