0
是的,我知道这已被问及数十亿次,但仍然困惑不解。非法字符串偏移量 - 小问题
代码底线:
$this->labels[$row['id']] = $row['content'];
这怎么能更好的写法,以避免非法在PHP偏移?
试图让PHP手册的意义,而是迷茫..
使用TRUE作为键名将使integer 1成为关键。使用FALSE作为键将评估为整数0作为键。使用NULL作为键将评估为空字符串。使用空字符串作为键将创建(或覆盖)具有空字符串及其值的键,这与使用空括号不同。
您不能将数组或对象用作键。这样做会导致警告:非法偏移类型。
我可以阅读任何好的文章,以便将来纠正这一点?
$sql = "SELECT `l`.`id`, `c`.`content`
FROM `{$this->table_2}` `l`
LEFT JOIN `{$this->table_3}` `c`
ON `c`.`label` = `l`.`id`;
WHERE `c`.`language` = ?
ORDER BY `l`.`name` ASC";
$labels = $this->Db->getAll($sql, $this->language);
if (empty($labels)) {
setcookie('lang', 1, time() + 31536000, '/');
$this->language= 1;
$sql = "SELECT `l`.`id`, `c`.`content`
FROM `{$this->table_2}` `l`
LEFT JOIN `{$this->table_3}` `c`
ON `c`.`label` = `l`.`id`
WHERE `c`.`language` = ?
ORDER BY `l`.`name` ASC";
$labels = $this->Db->getAll($sql, $this->lanaguage);
}
if (!empty($labels)) {
foreach($labels as $row) {
$this->labels[$row['id']] = $row['content'];
}
}
}
谢谢你堆。我应该接受这一点。工作很好。谢谢 :) –