【发布时间】:2011-02-10 07:50:53
【问题描述】:
我有一个从数据库返回的数组,如下所示:
$data = array(201 => array('description' => blah, 'hours' => 0),
222 => array('description' => feh, 'hours' => 0);
在下一段代码中,我使用foreach 并检查另一个表中的键。如果下一个查询返回数据,我想用新的小时值更新该键数组中的“小时”值:
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 循环。
这肯定比我的大脑想象的要容易。
这是整个sn-p:
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变量?