Bạn đang trải qua rất nhiều công việc nối chuỗi lộn xộn và dễ xảy ra lỗi chỉ để xuất ra một biến javascript. Thay vào đó, những gì bạn nên làm là xây dựng cấu trúc dữ liệu bạn muốn trong PHP (một mảng các mảng) và sau đó sử dụng json_encode()
để phát ra một ký tự tương thích với javascript. Tất cả các dấu ngoặc kép và như vậy sẽ được bộ mã hóa tự động thoát ra.
$itemOutput = array();
if(count($items)) {
foreach($items as $item) {
foreach($advisors as $key=>$advisor) {
if($item['advisor']==$advisor['id']) {
$ad=$advisor['last_name'];
}
}
$active_icon = ($item['active']=='1'?'tick':'cross');
$editlink = anchor('auth/admin/members/form/'.$item['id'],$this->bep_assets->icon('pencil'));
$itemOutput[] = array(
$item['first_name'],
$item['last_name'],
$item['email'],
$item['parent_email'],
$item['parent_email2'],
$ad,
$this->beep_assets->icon($active_icon),
$editLink
);
}
}
echo "data.addRows(" . json_encode($itemOutput) . ");" ;
Nếu bạn có một đối tượng hoặc một mảng kết hợp, nó sẽ được phát ra dưới dạng một đối tượng javascript:
echo json_encode(
array( 'a'=>'aa', 'b'=>'bb'),
array( 'c'=>'cc', 'd'=>'dd')
);
==> [{"a":"aa","b":"bb"},{"c":"cc","d":"dd"}]