Php 使用Foreach循环中的数据定义Javascript变量

Php 使用Foreach循环中的数据定义Javascript变量,php,codeigniter,Php,Codeigniter,我建议您通过一个可以使用ajax从javascript调用的服务获取所需的数据,但是您的版本也可以工作,尽管它有点凌乱。 如果您真的想编写生成javascript代码的php代码,我建议您将整个对象传递给客户端。只需将其设置为JSON,javascript就会将其解释为本机javascript对象 <a class="end" href="#" title="End">End</a> $(document).ready(function() { $("a.en

我建议您通过一个可以使用ajax从javascript调用的服务获取所需的数据,但是您的版本也可以工作,尽管它有点凌乱。
如果您真的想编写生成javascript代码的php代码,我建议您将整个对象传递给客户端。只需将其设置为JSON,javascript就会将其解释为本机javascript对象

<a class="end" href="#" title="End">End</a>

$(document).ready(function() {

    $("a.end").click(function() {

            $.post(base_url + "index.php/home/end", { user_id : user_id, post_id :         $(this).attr('id') }, function(data) 
            {
                    alert(data);                    
            }, "json");

             });


});

var用户=;
//对用户做任何你想做的事情
//例如:迭代所有用户
for(var密钥输入用户)
{
var id=users[key].id;
// ...
}
更新
如果您只想将用户的ID传递给客户端,那么应该循环users集合(在php中)并将它们存储在数组(或对象)中。然后使用上述机制:

<script type="text/javascript">
    var users = <?php echo json_encode($waiting_user);?>;

    // do whatever you want to do with the users
    // ex :  iterate over all users
    for(var key in users)
    {
        var id = users[key].id;
        // ...
    }
</script>

// ....
var user_id=;

收集数组中的用户ID,然后将该数组作为JS输出

<?php
    $user_ids = [];
    foreach ($waiting_users as $waiting_user)
        $user_ids[] = $waiting_user->user_id;
?>
// ....
<script type="text/javascript">
    var user_ids = <?php echo json_encode($user_ids);?>;
</script>

var数组_of_user_id=;

您试图用这个变量实现什么?认证?只是一个用户列表?问题是,最终只有最后一个用户被设置到变量中。下面来自gion13的答案很好,因为它将它放入一个JSON对象中,然后您可以使用javascript与所有用户一起工作?也。。结束报价?这不是解决方案。他想得到一组用户ID。谢谢你们的回答。我在我的问题中添加了更多的信息。@ciprian,新问题是什么?
<script type="text/javascript">
    var users = <?php echo json_encode($waiting_user);?>;

    // do whatever you want to do with the users
    // ex :  iterate over all users
    for(var key in users)
    {
        var id = users[key].id;
        // ...
    }
</script>
<?php
    $user_ids = [];
    foreach ($waiting_users as $waiting_user)
        $user_ids[] = $waiting_user->user_id;
?>
// ....
<script type="text/javascript">
    var user_ids = <?php echo json_encode($user_ids);?>;
</script>
<script type="text/javascript">
<?php 
$user_ids = array();
foreach($waiting_users as $u) {
  $user_ids[] = $u->user_id;
}
?>
var array_of_user_ids = <?=json_encode($user_ids)?>;
</script>