आप जावास्क्रिप्ट चर को आउटपुट करने के लिए बहुत सारे गन्दा और त्रुटि-प्रवण स्ट्रिंग-संलग्न कार्य से गुजर रहे हैं। इसके बजाय आपको PHP (सरणी की एक सरणी) में अपनी इच्छित डेटा संरचना का निर्माण करना चाहिए और फिर json_encode()
का उपयोग करना चाहिए एक जावास्क्रिप्ट-संगत शाब्दिक उत्सर्जित करने के लिए। एन्कोडर द्वारा सभी उद्धरण और ऐसे स्वचालित रूप से बच जाएंगे।
$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) . ");" ;
यदि आपके पास कोई ऑब्जेक्ट या सहयोगी सरणी है, तो यह जावास्क्रिप्ट ऑब्जेक्ट के रूप में उत्सर्जित हो जाती है:
echo json_encode(
array( 'a'=>'aa', 'b'=>'bb'),
array( 'c'=>'cc', 'd'=>'dd')
);
==> [{"a":"aa","b":"bb"},{"c":"cc","d":"dd"}]