php - 初始化数组键并插入值

时间:2013-05-07 05:40:53

标签: php associative-array

我想创建一个像“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.

1 个答案:

答案 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看似糟糕的设计,但如果不知道它的用途,就不可能提出任何改进。