Я вижу, что массив, закодированный в JSON, имеет «метки», как мне их добавить? PHP

#php #arrays #json

#php #массивы #json

Вопрос:

У меня есть массив, похожий на приведенный ниже:

array («животное» => array («лев», «рыба», «тигр)

И я хочу перейти к следующему в формате JSON.

‘{«группа»:»животное»,»типы»:[«лев», «рыба», «тигр»]}’

Как мне добавить «метки», такие как «group» и «type»?

Комментарии:

1. Вы не сможете превратить этот массив в этот объект. Вам нужно переформатировать ваш массив ( $arr = ['group' => 'animal', 'types' => [..]] . Затем закодируйте его.

2. Ваш вопрос слишком широкий. Вы переходите от «массива PHP» к «Иначе организованной структуре данных JSON». В чем собственно проблема? Это перестановка массива PHP? Понятно ли, что структура массива PHP даст вам желаемый JSON? Преобразует ли это структуру данных PHP в JSON?

3. @Deepak это вернет null.

Ответ №1:

 $array=array();
$array['animal'] = array('lion','tiger','fish');//Your array

echo json_encode(array("group"=>"animal","types"=>$array['animal']));
//Output : {"group":"animal","types":["lion","tiger","fish"]}
  

Ответ №2:

Создайте и отформатируйте результирующий массив, который позволит вам хранить данные в ожидаемом формате.

 <?php
$arr = array("animal" => array("lion", "fish", "tiger"));
$result = array("group" => "",
                "types" => array());

foreach ($arr as $key => $value)
{
    $result["group"] = $key;
    $result["types"] = $value;
}

var_dump(json_encode($result));
  

вывод :

 string(50) "{"group":"animal","types":["lion","fish","tiger"]}"
  

Если у вас много групп, возможно, потребуется немного изменить цикл :

 <?php
$arr = array(array("animal" => array("lion", "fish", "tiger")),
             array("colors" => array("red", "green", "blue")));

$finalResult = array();

foreach ($arr as $item)
{
    foreach ($item as $key => $value)
    {
        $result["group"] = $key;
        $result["types"] = $value;
        $finalResult[] = $result;
    }
}

var_dump(json_encode($finalResult));
  

Вывод :

 string(102) "[{"group":"animal","types":["lion","fish","tiger"]},{"group":"colors","types":["red","green","blue"]}]"
  

Комментарии:

1. Мне любопытно узнать причину DV