Php Larvel如何循环数组并按键获取值
在我的Php Larvel如何循环数组并按键获取值,php,arrays,laravel,Php,Arrays,Laravel,在我的laravel-应用程序中,我有两个数组,一个称为“headers”,另一个称为“rows”,我只需要“row”数组中的数据,该数组基于“headers”数组中的键 下面是我的数组: "rows" => array:2 [ 0 => array:6 [ "Company name" => "Universal" "Address" => &q
laravel
-应用程序中,我有两个数组,一个称为“headers”,另一个称为“rows”,我只需要“row”数组中的数据,该数组基于“headers”数组中的键
下面是我的数组:
"rows" => array:2 [
0 => array:6 [
"Company name" => "Universal"
"Address" => "Some address"
"Zipcode" => 12122
"City" => "Some city"
"Phonenumber" => 12345678
"Email" => "mail@mail.com"
],
1 => array:6 [
"Company name" => "Warner Bros."
"Address" => "another address"
"Zipcode" => 12122
"City" => "city abc"
"Phonenumber" => 12345678
"Email" => "mail2@mail.com"
]
],
"headers" => array:4 [
0 => array:2 [
"name" => "Company name"
"data" => array:1 [
"value" => "company_name"
]
],
1 => array:2 [
"name" => "Adresse"
"data" => array:1 [
"value" => "address"
]
]
]
到目前为止还不错,现在我只需要从“headers”数组中选择的“rows”数组中的数据,这样我就可以在我的前端像这样显示它们:
Company name | Address
----------------------------------
Universal | Some address
Warner Bros. | Another address
那么,如何将它们存储在数据库中?我的模型结构如下:
Entry::create([
'company_name' => request()->company_name ?? null,
'address' => request()->address ?? null,
'zipcode' => request()->zipcode ?? null,
'city' => request()->city ?? null,
'number' => request()->number ?? null,
'email' => request()->email ?? null
]);
提前感谢…简单的方法是循环
行,并为每个条目创建一条记录
foreach(request()->input('row')作为$entry){
条目::创建([
“公司名称”=>$entry[“公司名称”]??空,
“地址”=>$entry[“地址”]??空,
'zipcode'=>$entry['zipcode']??空,
“城市”=>$entry[“城市”]??空,
'number'=>$entry['Phonenumber']??空,
'email'=>$entry['email']??空
]);
}
简单的方法是循环行
,并为每个条目创建一条记录
foreach(request()->input('row')作为$entry){
条目::创建([
“公司名称”=>$entry[“公司名称”]??空,
“地址”=>$entry[“地址”]??空,
'zipcode'=>$entry['zipcode']??空,
“城市”=>$entry[“城市”]??空,
'number'=>$entry['Phonenumber']??空,
'email'=>$entry['email']??空
]);
}
Hi friend首先循环公司数组,动态创建一个数组并将其传递给模型,如下所示
$data = $request->rows;
$columns = $request->headers;
foreach($data as $item){
$array_of_items = []
foreach($columns as $column){
$column_name = $column['name']; //should return "Company Name"
if($item[$column_name]){ // means has the value
$column_code = $column['data']['value'] //should return "company_name" in first loop and so on, if not cannot carry on
$array_of_items[$column_code] = $item[$column_name];
}
}
if(!empty($array_of_items)){
Entry::create($array_of_items);
}
}
如果有任何疑问,请随时发表评论,谢谢您。祝您度过愉快的一天。Hi friend首先循环浏览公司阵列,并动态创建一个阵列,并将其传递给模型,如下所示
$data = $request->rows;
$columns = $request->headers;
foreach($data as $item){
$array_of_items = []
foreach($columns as $column){
$column_name = $column['name']; //should return "Company Name"
if($item[$column_name]){ // means has the value
$column_code = $column['data']['value'] //should return "company_name" in first loop and so on, if not cannot carry on
$array_of_items[$column_code] = $item[$column_name];
}
}
if(!empty($array_of_items)){
Entry::create($array_of_items);
}
}
如果有任何疑问,请随时发表评论,谢谢,祝你今天愉快。你如何在数据库中存储内容?你好,朋友,根据问题你只想在两家公司以上的商店中存储名称和地址?你如何在数据库中存储内容?你好,朋友,根据问题你只想在两家公司以上的商店中存储名称和地址?嗯,但是你改变了从“Company name”到“Company_name”的数组-在本例中,我不能这样做,但您给了我一个想法:-)您想要“Company name”的原样吗?好的,让我编辑一下答案then@ST80更新代码请看一下。非常感谢!:-)嗯,但是你把数组从“Company name”改为“Company_name”-在这种情况下,我不能这样做,但你给了我一个想法:-)你想要“Company name”的原样吗?好的,让我编辑一下答案then@ST80更新代码请看一下。非常感谢!:-)