Преобразовать ключ массива как объект в laravel - PullRequest
0 голосов
/ 04 июля 2019

У меня есть массив как flight_names:

           [
               "Spice Jet",
               "Go Air",
               "Air India",
               "Vistara"
           ]

я хочу изменить его структуру

           [
               {"flight_name":"Spice Jet"},
               {"flight_name":"Go Air"},
               {"flight_name":"Air India"},
               {"flight_name":"Vistara"}
           ]

Может кто-нибудь помочь мне, как перейти на этот формат в LARAVEL или PHP.

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Вы можете использовать json_encode, если его вывод json,

$arr    = ["Spice Jet", "Go Air", "Air India", "Vistara"];
$result = json_encode(array_map(function ($item) {
    return (array_combine(['flight_name'], [$item]));
}, $arr), JSON_PRETTY_PRINT);
print_r($result);die;

ссылка : объединение массивов , карта массивов & кодирование json .

JSON_PRETTY_PRINT
Используйте пробелы в возвращаемых данных для форматирования. Доступно с PHP 5.4.0.

Демо

Простой цикл foreach,

$arr = ["Spice Jet", "Go Air", "Air India", "Vistara"];
foreach($arr as &$v){
    $v = (array_fill_keys([$v], "flight_name"));
}
print_r(json_encode($arr));die;

Ссылка : ключи заполнения массива

Демо .

Упрощенная версия array_map,

$result =array_map(function($item){
    return ['flight_name' => $item];
}, $arr);

Демо .

Упрощенный foreach,

foreach($arr as &$v){
    $v = ['flight_name' => $v];
}
print_r(json_encode($arr));die;

Демо .

Чтобы изменить вывод,

foreach($arr as &$v){
    $v = array_flip(json_decode($v, true));
}

Выход

[
    {
        "flight_name": "Spice Jet"
    },
    {
        "flight_name": "Go Air"
    },
    {
        "flight_name": "Air India"
    },
    {
        "flight_name": "Vistara"
    }
]
0 голосов
/ 05 июля 2019
 $airlineArray=["Spice Jet", "Go Air", "Air India", "Vistara"];
    $finalArray=[];
    foreach($airlineArray as $key=>$value)
     {
       $arrayValue = ['flight_name' => $value];
          $finalArray[]=$arrayValue;
      }
     return $finalArray;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...