2013-05-07 34 views
0

我想創建一個數組像我的標題作爲我的關鍵字,表示名稱,年齡地址的「表」。php - 初始化數組鍵和插入值

我想初始化我的密鑰並插入新值(想象一下SQL表)。有沒有更好的方法來做到這一點?

$table = array(); 

foreach($rows as $key => $row){ 
array_push($table, array()); 
$table[$key]['name'] = $row['name']; 
$table[$key]['age'] = $row['age']; 
$table[$key]['address'] = $row['address']; 
if($row['age'] >= 18) $table[$key][$val_1] = 1; 
else $table[$key][$val_2] = 1; 
} 

並設想有val_1,...,val_n,我可以從頭開始將它們初始化爲0。

+0

我的不好。不應該有$符號。 – skinnyas123 2013-05-07 05:43:44

+1

和'$ rows'是查詢調用的結果? – 2013-05-07 05:46:19

+0

@vlzvl:+1我會問同樣的,因爲無處$行被定義或初始化! – NullPointer 2013-05-07 05:48:44

回答

0
$table = array(); 

foreach ($rows as $key => $row) { 
    if ($row['age'] >= 18) { 
     $row[$val_1] = 1; 
    } else { 
     $row[$val_2] = 1; 
    } 

    $table[$key] = $row; 
} 

這是假設$row只包含你想反正鍵。如果這是來自SQL查詢,則只有您想要的列。如果你確實需要修剪下來到鍵的特定選擇,之前做到這一點:

$row = array_intersect_key($row, array_flip(array('name', 'age', 'address'))); 

如果$key只是一個數字鍵,離開它,只是做$table[] = $row

$val_1/$val_2看起來很糟糕的設計,但如果不知道它的用途是什麼,就不可能提出任何改進建議。