我想创建一个像“table”这样的数组,我的标题作为我的键,比如姓名,年龄地址。
我想初始化我的密钥并插入新值(想象一下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 :(得分: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查询,SELECT
仅包含您想要的列。如果您确实需要将其修剪为特定的选择键,请在执行此操作之前执行此操作:
$row = array_intersect_key($row, array_flip(array('name', 'age', 'address')));
如果$key
只是一个数字键,请将其保留,然后执行$table[] = $row
。
$val_1
/ $val_2
看似糟糕的设计,但如果不知道它的用途,就不可能提出任何改进。