Получить значение JSON в формате настройки

У меня есть JSON в этом формате

    [
{
"Property": "A",
"Value": "1"},
{
"Property": "B",
"Value": "1"},
{
"Property": "C",
"Value": "0"},
]

Я хочу получить данные таким образом

    $ValueOfA = 1;
$valueOfB = 1;
$valueOfC = 0;

Что мне нужно сделать?

-1

Решение

Получить каждое значение в отдельной переменной — это не то, что вам нужно.

Так что поместите его в массив. Я предполагаю, что вы хотите иметь доступ к значению через свойство, поэтому я отформатировал выходной массив.

$array = json_decode($json, true);
$formattedArray = array();
foreach($array as $element) {
$formattedArray[$element['Property']] = $element['Value'];
}

Это печатает:

Array
(
[A] => 1
[B] => 1
[C] => 0
)
1

Другие решения

использование json_decode преобразовать JSON в массив.

$json = '[
{
"Property":"A",
"Value":"1"},
{
"Property":"B",
"Value":"1"},
{
"Property":"C",
"Value":"0"}
]';

$json_converted = json_decode($json, true);
print_r($json_converted);

Выход будет

Array
(
[0] => Array
(
[Property] => A
[Value] => 1
)

[1] => Array
(
[Property] => B
[Value] => 1
)

[2] => Array
(
[Property] => C
[Value] => 0
)

)
0

e.x

$json = '[
{
"Property":"A",
"Value":"1"},
{
"Property":"B",
"Value":"1"},
{
"Property":"C",
"Value":"0"}
]';

$json_converted = json_decode($json, true);

$temp = "";
foreach($json_converted as $value){
$temp = "valueOf".$value["Property"];
$$temp = $value['Value'];

}

var_dump($valueOfA);
var_dump($valueOfB);
var_dump($valueOfC);
0

Проверьте ниже код:

<?php
$jsonData = '[{
"Property": "A",
"Value": "1"},
{
"Property": "B",
"Value": "1"},
{
"Property": "C",
"Value": "0"}]';

$arr = json_decode($jsonData, true);

foreach ($arr as $key => $value) {
$returnData['ValueOf'.$value['Property']] = $value["Value"];
}

print_r($returnData);
?>

Выход :

Массив ([ValueOfA] => 1 [ValueOfB] => 1 [ValueOfC] => 0)

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector