【发布时间】:2020-07-05 12:57:45
【问题描述】:
我有一个多维或嵌套的数组,我不确定正确的词。问题是我正在尝试查找一个特定的键,返回它的值并将其存储在我的数据库中一次迭代。这是我一直在尝试的,但是当我只需要 1 行时,却在我的数据库中创建了很多行。
$arr = $json['confirmed_by_province'];
foreach ($arr as $province) {
$confirmedByStates = new ConfirmedByProvinces();
foreach ($province as $key => $value) {
if($key == 'ON') {
$confirmedByProvinces->ontario = $value;
}
if($key == 'QB') {
$confirmedByProvinces->quebec = $value;
}
$confirmedByProvinces->save();
}
};
这是 $arr 变量的数据:
array:31 [
0 => array:1 [
"ON" => "60"
]
1 => array:1 [
"QB" => "46"
]
【问题讨论】:
-
您只需将
$confirmedByProvinces->save();移到foreach循环之外。 -
你永远不会有
$arr = [0 => ['ON' => '60', 'QB' => '46'], ['ON' => '52', 'QB' => '38']]- 两者都在外部数组的一个元素下 - 换句话说,元素中总是只有一个选择? -
@DanielJonguitud 如果您回答这个问题,我或许可以为您提供更快的解决方案。问题是:数组 31 的元素可以有两个键吗?
-
@Tpojka 它实际上是一个包含 31 个键的数组,其中包含另一个键。我实际上解决了我的问题并标记了解决方案。感谢您的帮助!
-
也许你在我的回答中发现了一些有趣的东西,谁知道呢。 :)
标签: php arrays laravel multidimensional-array