我使用此代码使用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文件,除了我不能因为数组包含[]“方括号”,“没有双引号的字符串”,“带空格的字符串”而没有“,”两行之间的(逗号)。
如何简化此代码以使用普通数组或任何其他建议。请帮助我
答案 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);