Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.4数组删除键索引_Php_Laravel - Fatal编程技术网

Php Laravel 5.4数组删除键索引

Php Laravel 5.4数组删除键索引,php,laravel,Php,Laravel,在我的控制器中,此语句生成一个数组: // sort the region collection by continent for faster access in front end $finalRegions = $regions->sortBy('continent_id'); { "0":{ "id":1, "name":"Alaska", "image_x":227, "image_y":117 },

在我的控制器中,此语句生成一个数组:

// sort the region collection by continent for faster access in front end
$finalRegions = $regions->sortBy('continent_id');


{  
   "0":{  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   "1":{  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
....
   }
}
如何从结果对象中删除索引,使其看起来像这样:

[  
   {  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   {  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
....
   }
]
$finalRegions = $regions->sortBy('continent_id')->values();
这存储在表类中的一个字段中,转换为
json

$res = [];
foreach ($finalRegions  as $key => $value) {
    $res[] = $value;
}

// $res contains desired result
编辑:简单的一行(感谢珍妮)

编辑:简单的一行(感谢珍妮)


我仍然不明白为什么需要删除这些索引,但可以通过这种方式来完成

<?php

$jsonArr = '{  
   "0":{  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   "1":{  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
   }
}';

$decodeArr = json_decode($jsonArr, true);
print_r(json_encode($decodeArr));

我仍然不明白为什么需要删除这些索引,但可以通过这种方式来完成

<?php

$jsonArr = '{  
   "0":{  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   "1":{  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
   }
}';

$decodeArr = json_decode($jsonArr, true);
print_r(json_encode($decodeArr));
由于您的问题标题中有“Laravel”,而且看起来您的区域已经包含在Laravel集合中,因此有一种更简单的方法。只需将结果通过->sortBy()子句后面的->values()传递,如下所示:

[  
   {  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   {  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
....
   }
]
$finalRegions = $regions->sortBy('continent_id')->values();
因为你的问题标题中有“Laravel”,而且看起来你已经在Laravel集合中有了你的区域,所以有一个更简单的方法。只需将结果通过->sortBy()子句后面的->values()传递,如下所示:

[  
   {  
      "id":1,
      "name":"Alaska",
      "image_x":227,
      "image_y":117
   },
   {  
      "id":5,
      "name":"Australian Antartic Territory",
      "image_x":1187,
      "image_y":1037
....
   }
]
$finalRegions = $regions->sortBy('continent_id')->values();

在我看来,你不能,因为这不是一个有效的JSONHi@vietnguyen09,你是对的!我的打字错误。我已经修复了问题。我想要一个没有索引的对象数组。为什么需要删除这些索引?一致性。我还有三个包含json对象数组的字段。然后我在前端的JS中以同样的方式访问它们。我也不明白为什么这一个字段(像其他三个字段一样以集合开始)在流程结束时以这种方式格式化。在我看来,你不能这样做,因为这不是一个有效的JSONHi@vietnguyen09,你是对的!我的打字错误。我已经修复了问题。我想要一个没有索引的对象数组。为什么需要删除这些索引?一致性。我还有三个包含json对象数组的字段。然后我在前端的JS中以同样的方式访问它们。我也不明白为什么这一个字段(一开始像其他三个字段一样是一个集合)在过程结束时会以这种方式格式化。说
array\u values($finalRegions)
?哈哈,我以前用过PHP,不记得用过这个,所以提出了一种老式的方式。顺便说一句,很长时间以来我一直在说数组值($finalRegions)
?哈哈,我以前用过PHP,但不记得用过这个,所以我提出了一种老式的方法。谢谢你。