【问题标题】:fputcsv Notice: Array to string conversionfputcsv 注意:数组到字符串的转换
【发布时间】:2017-08-11 00:17:40
【问题描述】:

我有一个简单的 PHP 代码将 JSON 保存到 CSV ,但我有一个错误,代码如下:

<?php
$inputJSON = file_get_contents('https://url');

$out = fopen('C:\xampp\htdocs\tkp_product\tkp2.csv', 'w');
foreach(json_decode($inputJSON, true)["data"] as $key => $value) {
  fputcsv($out, $value);
}
fclose($out);

?>

这是fputcsv($out, $value);的错误

注意:第 6 行 C:\xampp\htdocs\tkp.php 中的数组到字符串转换

注意:第 6 行 C:\xampp\htdocs\tkp.php 中的数组到字符串转换

我在安装了 PHP7 的 Win 10 中使用 XAMPP 运行此脚本。我应该怎么做才能解决这个问题?

【问题讨论】:

  • 这里的行号和tkp.php中的一样吗?第 6 行是哪一行?
  • 等我正在编辑一个问题
  • CSV 是平面格式,所以fputcsv 的第二个参数应该是平面数组。您的 $value 是一个包含其他数组的数组。 PHP 将它们转换为字符串(以便可以将它们写为单个 CSV 字段)并发出通知。

标签: php foreach fopen fputcsv


【解决方案1】:

您需要检查值的类型

foreach(json_decode($inputJSON, true)["data"] as $key => $value) {
 if(!is_array($value)) fputcsv($out, $value);
}

但请注意,file_get_contents('https://url'); 似乎返回了一个嵌套数组,这将只是第一级

【讨论】:

猜你喜欢
  • 2023-03-06
  • 2013-04-18
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
相关资源
最近更新 更多