使用 array_map 和 fetchAll(PDO::FETCH_ASSOC)

Using array_map with fetchAll(PDO::FETCH_ASSOC)

我正在从我的数据库创建 json,如下所示;

$PdoObject -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$PdoStatement=$PdoObject->prepare($SqlQuery);
$PdoStatement->execute();
$PdoResultToArray=$PdoStatement->fetchAll(PDO::FETCH_ASSOC);

我正在尝试处理 db 返回数组的值,但 returns 错误。

$PdoResultToArrayNew=array_map("strtolower", $PdoResultToArray); 

Warning: strtolower() expects parameter 1 to be string, array given in

因为 $PdoResultToArray 是行数组。每行都是数组本身。

您必须手动遍历每一行:

foreach($PdoResultToArray as $row) {
    $json_row = array_map("strtolower", $row); 
    /// do with it what you want
}

用以下行构建新数组:

$lowerRows = []

foreach($PdoResultToArray as $row) {
    $lowerRows[] = array_map("strtolower", $row); 
}