初始化数组键并插入值


initialize array keys and insert values

我想创建一个像"表"一样的数组,我的头作为我的键,说姓名,年龄地址。

我想初始化我的键并插入新值(想象一个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,…

$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似乎是糟糕的设计,但在不知道它的用途的情况下,不可能提出任何改进建议。