我有多个数组(它们都是使用 PDO 语句从 MySQL 数据库中得到的结果),这里以一个为例:
Array ( [id] => 1 [0] => 1 [name] => HELLO [1] => HELLO )
我只想要不是数字的键(在本例中为“id”和“name”)作为数组。
如何过滤掉整数的键,以便最终得到一个数组:
Array ( [id] => 1 [name] => HELLO )
(键并不总是“id”和“name”,或名称编号,或相同数量的数组键)
我认为你应该用适当的标志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]);
}
}
$newRow = array();
foreach($row as $key => $value)
if(is_string($key))
$newRow[$key] = $value;