【发布时间】:2021-02-26 14:48:42
【问题描述】:
最初,我使用上传的 .csv 文件并一次遍历一行的值.. 使用下面的 while 循环。
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
var_dump($data);
$importIt = $repo->impThreeCSV($which, $data);
}
我已将 .csv 上传功能重做为一个 Web 表单,我可以在其中通过“保存按钮”将 json 发送到 PHP 文件。我现在有一个包含多个关联数组的变量..
$fd = json_decode($df, true);
var_dump($fd);
例如,上面的转储包含多个数组,如下所示:即(约 300 个类似数组,如下所示)。
array (size=806)
0 =>
array (size=18)
'ATM_ID' => string 'AFF-MIL-TWR' (length=11)
'FAC_IDENT' => string 'AFF' (length=3)
'LG_NAME' => string 'BLACH BLAH ACADEMY' (length=20)
'BASIC_TP' => string 'MIL-TWR' (length=7)
.................
-
我怎样才能只在这些数组中迭代 VALUES,一个在一个 时间与我原来的
while循环相同。(这将是 理想,所以我不必重做整个后端)。 -
我在处理多个数组和获取 值只输出..
-
我已经尝试了以下两次尝试,我只是得到'arrayarrayarray'或 类似
var_dump。我是否需要将每个数组分解为 自己的变量?我在这里做错了什么?我需要计算一下如何 许多数组包含在我的 var 中?$fd = json_decode($df, true); var_dump($fd); $data = array_values($fd); foreach ($data as $array_key) { echo $array_key; } $array_keys = array_keys($fd); foreach ($array_keys as $array_key) { echo $array_key; }
附:不,我不能使用 pandas,我希望。
【问题讨论】:
-
只是为了确定,以包含多个数组的转储为例,你想要的 foreach 将得到'AFF-MIL-TWR',然后是'AFF'等,在一个循环中执行所有数组如果它们都在同一个数组中?
-
不,理想情况下将每个数组视为一个“行”,例如我原来的带有 csv 数据的 while 循环
-
每个数组都是我要导入数据库的一行数据..
-
啊,这很简单,foreach 里面的foreach。我会发布一个答案。
-
我猜他这样做是为了不“窃取”答案,这很好!然后添加了答案:) 谢谢汤姆。
标签: php arrays foreach while-loop associative-array