我在控制器中遇到有关heredoc语法的问题。我的控制器的功能是这样的:如何在foreach循环中使用php heredoc语法
function active() {
$userlist = $this->input->post('userlist');
$userlist = explode(',',$userlist[0]);
$items = '';
if(!empty($userlist)){
foreach($userlist as $buddy)
{
$actv = $this->user_model->check_active_users($buddy);//returns 0 if no results found
if ($online_buddies == 0) {
$items .= <<<EOD
{
"fl": "0",
"fid": "{$buddy}"
},
EOD;
}//if returned 0 inactive
}//foreach
}//if nt empty $mybuddies
if ($items != '')
{
$items = substr($items, 0, -1);
}
header('Content-type: application/json');
?>
{
"items": [
<?php echo $items;?>
]
}
<?php
exit(0);
}//end of func active
$userlist
持有user-ids
。
$this->user_model->check_active_users($buddy)
如果找不到结果,则返回0。
我想得到一个标志0
如果在数据库中找不到任何结果以及相应的用户标识符。
但是,
$items .= <<<EOD
{
"fl": "0",
"fid": "{$buddy}"
}
EOD;
这里,fl
回报0
但fid
将返回什么。我做错了吗?"fid": "{$buddy}"
,而不是操作字符串,你应该尝试使用PHP本身的数组S和输出最终结果由'json_encode()'; –
坦克很多..... – user3177114