【发布时间】:2015-01-23 04:43:56
【问题描述】:
我收到此错误:
遇到 PHP 错误
严重性:通知
消息:未初始化的字符串偏移量:0
文件名:controllers/basecontroller.php
行号:616 和行号:617
这是我的代码:
//Controller File
function _send_email($email_template, $receiver=array(), $data=array(), $sender=array()){
$this->load->model('ad_model');
$tmpl = $this->ad_model->getAdByCode($email_template);
$title = $tmpl['desc']; // Line 616
$html = $tmpl['html']; // Line 617
$html = str_replace("[NAME]", $receiver['name'] ,$html);
//$html = str_replace("[PWD]", $pwd ,$html);
$html = str_replace("[EMAIL]", $receiver['email'] ,$html);
foreach($data as $code=>$d){
$html = str_replace("[".strtoupper($code)."]", $d ,$html);
}
...
//Model File
function getAdByCode($code){
$this->db->select('html,desc');
$rec = $this->db->get_where('ad', array('code'=>$code), 1,0);
//echo $code;
//echo print_r($rec,1);
$rec = $rec->result_array();
if(isset($rec[0])){
$rec = $rec[0];
} else {
$rec = '';
}
return $rec;
}
}
有人愿意帮忙吗?
【问题讨论】:
-
我们应该如何猜测命名的行 616 和 617 ?
-
@OlegDubas OP 注释了代码中的行 ->
$title = $tmpl['desc']; // Line 616 $html = $tmpl['html']; // Line 617 -
'desc'和'html'条目在$tmpl中不存在。 -
Uninitialized string offset通常意味着当 var 是字符串而不是数组时,您正在尝试获取数组键。做一个var_dump($tmpl)检查。 -
print_r($tmpl);看看你得到了什么?