将PHP数组传递到JavaScript for循环

将PHP数组传递到JavaScript for循环,javascript,php,codeigniter,model-view-controller,Javascript,Php,Codeigniter,Model View Controller,我试图将一些值从PHP数组传递到JavaScript中 我的php变量$contacts\u info具有以下值 Array ( [0] => Array ( [contact_id] => 20 [type_id] => 2 [contact_type] => Representative Phone [contact_value] => 0987654321 ) [1] => Array ( [contact_id] => 21 [t

我试图将一些值从PHP数组传递到JavaScript中

我的php变量
$contacts\u info
具有以下值

Array ( [0] => Array ( [contact_id] => 20 [type_id] => 2 [contact_type] => Representative Phone [contact_value] => 0987654321 )
        [1] => Array ( [contact_id] => 21 [type_id] => 4 [contact_type] => Shop Address [contact_value] => 0987654321 ) 
        [2] => Array ( [contact_id] => 22 [type_id] => 3 [contact_type] => Emergency Phone [contact_value] => 0987654321 ) 
        [3] => Array ( [contact_id] => 23 [type_id] => 2 [contact_type] => Representative Phone [contact_value] => 0987654321 ) 
        [4] => Array ( [contact_id] => 24 [type_id] => 3 [contact_type] => Emergency Phone [contact_value] => 0987654321 ) 
        [5] => Array ( [contact_id] => 25 [type_id] => 4 [contact_type] => Shop Address [contact_value] => 0987654321 ) ) 1
我试图使用JavaScript在带有for循环的某个组合框中指定一个特定值。但我在这样做时遇到了问题

Type: ParseError

Message: syntax error, unexpected '<', expecting ']'
类型:ParseError
消息:语法错误,意外“请执行以下操作

  • 您需要删除包含PHP脚本的双引号,因为
    将其视为字符串

  • 丢失
    echo
    ,因为JSON数组没有得到回显,因此无法将其分配给javascript变量
    contact\u info

  • 变量
    contact_info
    已经有了JSON数组,无需再次从PHP变量获取

  • 最终你的代码应该是这样的

     <script>
            var total_counter = <?php echo $total_contact; ?>;
            var contact_info = <?php echo json_encode($contacts_info); ?>;
            for (var i = 0; i <= total_counter - 1; i++) {
                let element = document.getElementById("contact_type_id_" + i);
                element.value = contact_info[i].type_id ;
            }
        </script>
    
    
    var total_计数器=;
    var联系人信息=;
    对于(var i=0;i请执行以下操作

  • 您需要删除包含PHP脚本的双引号,因为
    将其视为字符串

  • 丢失
    echo
    ,因为JSON数组没有得到回显,因此无法将其分配给javascript变量
    contact\u info

  • 变量
    contact_info
    已经有了JSON数组,无需再次从PHP变量获取

  • 最终你的代码应该是这样的

     <script>
            var total_counter = <?php echo $total_contact; ?>;
            var contact_info = <?php echo json_encode($contacts_info); ?>;
            for (var i = 0; i <= total_counter - 1; i++) {
                let element = document.getElementById("contact_type_id_" + i);
                element.value = contact_info[i].type_id ;
            }
        </script>
    
    
    var total_计数器=;
    var联系人信息=;
    
    对于(var i=0;i
    var contact_info=;
    Php在服务器上运行,Javascript在Php完成后很长时间在浏览器中运行。您不需要在javscript循环中使用Php,因为您已经将Php数组作为json传递给循环上方的变量。您也不需要在
    周围加引号,但也缺少
    echo
    这将有助于ith json:我想知道这个错误…
    消息:语法错误,意外的“
    var contact_info=;
    Php在服务器上运行,Javascript在Php完成后很长一段时间在浏览器中运行。您不需要在javscript循环中使用Php,因为您已经将Php数组作为json传递给循环上方的变量。您也不需要在
    但也缺少
    echo
    这将有助于json:我想知道错误…
    消息:语法错误,意外的“非常感谢”。)工作。@Firdous bhat:虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决这个问题的附加上下文将提高答案的长期价值。答案改进,先生;)非常感谢。@Firdous bhat:虽然这段代码可以回答这个问题,提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。答案已改进,先生;)