将array_map与fetchAll一起使用(PDO :: FETCH_ASSOC)

时间:2015-04-06 11:36:23

标签: php pdo

我正在从我的db创建json,如下所示;

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

我正在尝试处理db返回数组的值,如下所示,但返回错误。

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

警告:strtolower()要求参数1为字符串,数组在

中给出

1 个答案:

答案 0 :(得分:1)

因为$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); 
}