Я попытался найти, но не смог найти. Извините, если пропустили, если решение уже присутствует ...
код
$ json =
«[{ "ID": "2", "значение": "1"}, { "идентификатор": "1", "значение": "1"}, { "идентификатор": "3", "значение" : ""}, { "идентификатор": "4", "значение": ""}, { "идентификатор": "5", "значение": ""}, { "ID: значение 6", " "" ":" "}, {" идентификатор ":" 7" , "значение": ""}, { "идентификатор": "8", "значение": ""}, { "идентификатор": "9",» значение ":" "}, {" идентификатор ":" 10" , "значение": "1"}] ';
$myArray = json_decode($json);
foreach ($myArray as $key => $v) {
if ($v->id == 10 && ($v->value == 0 || $v->value == 1)) {
echo 'Value found at array key ' . $key;
}
}
1010 * Ouput *
Значение найдено в ключе массива 9
Но это работает только тогда, когда я статически указываю $ json со значением в одинарных кавычках ... Но в моем проекте joomla значения выбираются с помощью переменной класса
поэтому, когда я, когда я использую $json=$item->extra_fields
вместо предоставления статической строки $json
, это не работает ......
код
$json=$item->extra_fields;
$myArray = json_decode($json);
foreach ($myArray as $key => $v) {
if ($v->id == 10 && ($v->value == 0 || $v->value == 1)) {
echo 'Value found at array key ' . $key;
}
}
OUTPUT
Предупреждение. В foreach () указан неверный аргумент
/components/com_k2/views/item/view.html.php
по линии 484
UPDATE:
echo "JSON: $json<br/><br/>";
echo "DUMP: ".var_dump($myArray);
OUTPUT
JSON: [{"id":"2","value":"1"},{"id":"1","value":"1"},{"id":"3","value":""},
{"id":"4","value":""},{"id":"5","value":""},{"id":"6","value":"<br \/>"},
{"id":"7","value":"<br \/>"},{"id":"8","value":"<br \/>"},{"id":"9","value":"<br \/>"},
{"id":"10","value":"1"}]
NULL DUMP:
-> Использование true с json_decode не изменяет вывод
Stripslashes также не работал.
Проверено $ item-> extra_fields - тип строки