Как превратить получение значения формата json в массив

Я использую laravel 5. Я запрашиваю даты из этого запроса:

 $data = DB::table('itemregistrations')
         ->select('itemregistrations.dd', 'itemregistrations.mm', 'itemregistrations.yy')
         ->where('itemregistrations.itemregistrationid', $id)
         ->get();

Я хочу получить значение, которое нужно поместить в массив, чтобы я мог преобразовать массив в строку. Я не могу взорвать его в таком формате.

dd($data); 

произвести это:

Collection {#521 ▼
#items: array:1 [▼
0 => {#515 ▼
  +"dd": 15
  +"mm": "0"
  +"yy": 2007
  }
 ]
}

Как превратить этот результат в:

 0 => {15, 0, 2007}

Спасибо

Вам действительно нужно показать код: какие у вас переменные, вызываемые и т. д. Array.prototype.slice.apply(Object.values({"dd": 15, "mm":"0", "yy": 2007})).map((el) => parseInt(el))

JGoodgive 18.10.2018 09:40
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
1
54
2

Ответы 2

почему бы вам не преобразовать коллекцию в массив с помощью метода toArray (), а затем просто выполнить json_encode для полученного массива. позже вы даже можете передать его в своем ответе.

Надеюсь, это поможет другим ..

Я нахожу решение, основанное на этих комментариях к этому вопросу здесь:

Как мне преобразовать объект json в строку в php?

Я модифицирую свой код:

  //query tarikh masuk                    
   $datatarikh = DB::table('itemregistrations')
                ->select('itemregistrations.dd', 'itemregistrations.mm', 'itemregistrations.yy')
                ->where('itemregistrations.itemregistrationid', $id)
                ->get();

    //**************** format the value of the date************************                      
    $data = json_decode($datatarikh, true); 

    $val_arr = array();

    foreach($data  as $val)
    {
        foreach($val as $key => $value)
        {
             $val_arr[] = $value;
        }
    }

    $result = implode("-", $val_arr);

Он изменяет ассоциативный массив на индексированный массив, который нужно свернуть. Спасибо за ваш вклад.

Из массива:

 array:1 [▼
 0 => array:3 [▼
"pdrm_dd" => 15
"pdrm_mm" => "01"
"pdrm_yy" => 2007
 ]
]

Результат вывода:

 "15-01-2007"

Другие вопросы по теме