Php 如何在LaravelAPI中将数组转换为对象
您好,首先我从数据库中获取数据作为数组,然后我想将数组数据转换为对象我尝试了许多函数,但在laravel api中不起作用。我想将数组数据转换为对象,并返回为Php 如何在LaravelAPI中将数组转换为对象,php,laravel,Php,Laravel,您好,首先我从数据库中获取数据作为数组,然后我想将数组数据转换为对象我尝试了许多函数,但在laravel api中不起作用。我想将数组数据转换为对象,并返回为JSONforapi我在google上搜索了几次,但没有找到任何解决方案。感谢大家的帮助 对于api,我使用这个 return response()->json(['data' => $categories, 'status_code' => 200, 'status' => true],200); 我试过了
JSON
forapi
我在google上搜索了几次,但没有找到任何解决方案。感谢大家的帮助
对于api,我使用这个
return response()->json(['data' => $categories, 'status_code' => 200, 'status' => true],200);
我试过了
Category是一个数组$categories
$data_object = (object)$categories;
$data_array = (array)$categories;
dd($data_数组);
dd(数据对象)
两者都返回相同的结果
这就是结果
array:14 [
37 => array:5 [
"id" => 37
"name" => "Red abya"
"alias" => "red-abya"
"is_featured" => 0
]
38 => array:5 [
"id" => 38
"name" => "Black Dress"
"alias" => "black-dress"
"is_featured" => 0
]"is_featured" => 0
]
1 => array:6 [
"id" => 1
"name" => "Abayas"
"alias" => "abayas"
"is_featured" => 1
"sub_categories" => array:2 [
0 => array:5 [
"id" => 37
"name" => "Red abya"
"alias" => "red-abya"
"is_featured" => 0
]
1 => array:5 [
"id" => 36
"name" => "White abaya"
"alias" => "white-abaya"
"is_featured" => 0
]
]
]
25 => array:5 [
"id" => 25
"name" => "Discount"
"alias" => "discount"
"is_featured" => 0
]
]
如果您希望在结尾使用JSON,可以尝试更改此选项:
$data_object = (object)$categories;
到
我假设
$categories
是一个集合数组。然后在您的视图中,您可以json\u encode($data\u object)
it.如果您使用邮递员,您可以发送和接收json格式的数据。因此,您可以使用json_encode()将数据转换为json格式,使用json_decode()将数据转换为array()格式。在laravel中,您还可以通过请求实例获取数据,并通过response()助手发送响应,因此,如果您需要以数组格式获取数据,可以使用以下方法:
$data\u array=(array)$request->all()
和用于发送数据:
response()->json($data_数组,200)
如果希望stdclass使用(对象)而不是数组,请尝试以下操作
$categories = array_map(function($categories){
return (object)$categories;
}, $categories);
检查
是否为$categories
是否为数组?结果将清晰显示并排列您发布数据的方式使其看起来像一个json编码的字符串。请检查以确保它确实是一个数组。您可以使用is_array()
函数来测试这个问题。请检查我的答案。@ShahidHussain,这样对您就行了。如果有任何错误,请告诉我。返回中的上述结果部分是否确实没有将其转换回数组<代码>$data\u object=(object)$categories$数据数组=(数组)$类别代码>您应该只使用Object,但在第二行中,您再次转换为array?使用这两个$data_Object=(Object)$类别$数据数组=(数组)$类别;我只想将$category数组一个接一个地转换为object brolook我的函数请求如下:公共函数测试(请求$req){$data\u数组=(数组)$req->all();返回响应()->json(['data'=>$data\u数组],200);}代码正在返回我想要的完美结果,但我只想将其转换为对象,即所有broobject(stdClass)#257(3){[“id”]=>string(1)“6”[“name”]=>string(15)“ifooooooooo”[“code”]=>string(3)“500”}这是我使用((object)为$request->all()进行强制转换后的结果
$categories = array_map(function($categories){
return (object)$categories;
}, $categories);