-1

我有多个数组(它们都是使用 PDO 语句从 MySQL 数据库中得到的结果),这里以一个为例:

Array ( [id] => 1 [0] => 1 [name] => HELLO [1] => HELLO )

我只想要不是数字的键(在本例中为“id”和“name”)作为数组。

如何过滤掉整数的键,以便最终得到一个数组:

Array ( [id] => 1 [name] => HELLO )

(键并不总是“id”和“name”,或名称编号,或相同数量的数组键)

4

2 回答 2

4

我认为你应该用适当的标志PDO::FETCH_ASSOC来解决这个问题

$sth = $dbh->prepare("SELECT id,name FROM tableName");
$sth->execute();

$row = $sth->fetch(PDO::FETCH_ASSOC); // use this flag for return only column names

如果不可能:

foreach($array as $k=>$v) {
    if(filter_var(FILTER_VALIDATE_INT, $k) !== FALSE) {
        unset($array[$k]);
    }
}
于 2012-12-11T23:29:07.523 回答
0
$newRow = array();
foreach($row as $key => $value)
    if(is_string($key))
        $newRow[$key] = $value;
于 2012-12-11T23:25:41.117 回答