2012-12-11 45 views
-1

我有多個陣列(其是使用PDO語句從MySQL數據庫的結果),在這裏是一個作爲一個例子:篩選出其是一個整數陣列鍵

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

我只希望的按鍵,其不是數字(在這種情況下是'id'和'name')作爲數組。

我怎樣可以過濾掉哪些是整數的鑰匙,這樣我可以用一個陣列,這將是結束了:

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

(該鍵不總是要「ID」和「名稱」,或者名稱的數字,或相同數量的陣列鍵)

+4

也許你可以用PDO解決這個問題。使用'$ stm-> fetch(PDO :: FETCH_ASSOC);'? –

+0

只需循環遍歷數組。什麼東西阻止你? – 2012-12-11 23:23:18

回答

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]); 
    } 
} 
0
$newRow = array(); 
foreach($row as $key => $value) 
    if(is_string($key)) 
     $newRow[$key] = $value;