我想要原始形式的数组

时间:2016-01-07 10:55:30

标签: php mysql arrays

我使用此代码使用PHP和Microsoft office access数据库创建了一个数组

代码:

<?php try{
$sql = "SELECT * FROM mcc ";
$result = $conn->query($sql);
$row = $result->fetchAll(PDO::FETCH_ASSOC);
print_r($row);
}catch(PDOExepction $e){
echo $e;
}?>

输出:

 Array ( [0] => Array ( [sName] => Dihn [Name] => John Parker [BNE] => BOB DIHN ) )

现在我想使用这个数组进行进一步的操作,比如make一个excel文件,除了我不能因为数组包含[]“方括号”,“没有双引号的字符串”,“带空格的字符串”而没有“,”两行之间的(逗号)。

如何简化此代码以使用普通数组或任何其他建议。请帮助我

1 个答案:

答案 0 :(得分:1)

$row是一个数组(正如PHP在print_r的输出中告诉你的那样),因此数组存在。 print_r只输出一个更易读的数组形式,这正是函数的设计目的。如果你不想要那个,那么你使用了错误的功能。

如果你想使用PHP处理数组,不要回应它,但是直接使用它,例如像这样:

$rows = $result->fetchAll(PDO::FETCH_ASSOC);
// Rows is an array of the results
foreach($rows as $row) {
  $thename = $row['Name'];
  // Do something with the data
}

如果要以有效的PHP语法输出数组,最简单的解决方案是将print_r替换为var_export

$row = $result->fetchAll(PDO::FETCH_ASSOC);
var_export($row);

您没有给出关于如何处理输出的最轻微提示。但是,如果要处理脚本的输出,可能更容易使用JSON

echo json_encode($row);