我有一个从数据库返回的数组,看起来像这样:
$data = array(201 => array('description' => blah, 'hours' => 0),
222 => array('description' => feh, 'hours' => 0);
在下面的代码中,我使用了一个
foreach
循环,并检查另一个表中的键。如果下一个查询返回数据,则要使用新的小时值更新该键数组中的“hours”值:foreach ($data as $row => $value){
$query = $db->query('SELECT * FROM t WHERE id=$row');
if ($result){
$value['hours'] = $result['hours'];
}
除了我尝试了几乎所有的foreach循环声明组合,但是我一直收到错误提示,即
$value['hours']
是无效引用。我尝试过声明$value[]
,但那也不起作用。我不需要遍历$value
,所以另一个foreach
循环是不必要的。这肯定比我的大脑感知的要容易些。
以下是完整代码片段:
foreach($_gspec as $key => $value){
$sql = sprintf('SELECT * FROM List WHERE specialtyID=%s', $key);
$query = $db->query($sql);
if ($query->num_rows() !== 0){
$result = $query->row_array();
$value['hours'] = $result['hours'];
}
}
$result
和$query
变量是什么? - vooD