我有多个数组(这些数据都来自使用PDO语句的MySQL数据库),以下是一个例子:
Array ( [id] => 1 [0] => 1 [name] => HELLO [1] => HELLO )
我只想要不是数字的键(在本例中为'id'和'name')作为数组。
如何过滤掉整数键,以便最终得到一个数组:
Array ( [id] => 1 [name] => HELLO )
(键并不总是'id'和'name',或名称编号,或相同数量的数组键)
答案 0 :(得分: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]);
}
}
答案 1 :(得分:0)
$newRow = array();
foreach($row as $key => $value)
if(is_string($key))
$newRow[$key] = $value;