我有列名
ID, 姓名, 类型, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月,10月, 11月, 12月
我想提取从 1 月到 12 月的所有非空列名
例
Jan Feb Mar
10 10 Null
10 10 Null
所以我的输出只是 1 月和 2 月
我同意Keo的观点,因为它使得在没有进一步PHP处理的情况下限制你提取的结果变得更加困难(也许是不可能的)。 话虽如此,这里有一种方法可以使用两个 foreach 循环来实现它。
// change events to your table name and $dbh to database handle
$fields=array("id","name","type");
foreach($dbh->query('SELECT * from events') as $row) {
foreach($row as $key=>$value){
if($value!=""&&$value!=null&&strtolower($value)!="null"&&!in_array($key,$fields)&&strlen($key)>2)
$fields[]=$key;
}
}
print_r$fields);