php - 将关联数组从 php 传递到 javascript

标签 php javascript arrays json associative

Possible Duplicate:
How to pass an array of strings from PHP to Javascript using $.ajax()?

我想将一个关联数组从 php 代码传递给 javascript 代码。请帮我。我该怎么做呢 ? JSON 对这件事有帮助吗?如果是,那么请提供一个简单的代码以获得帮助。谢谢你。

来自以下评论:
HTML + PHP 代码

<td> 
    <input type="text" style="width:70;" name="<?php echo $quantity;?>" id="<?php echo $quantity;?>" onkeyup="check_valid_range('<?php echo $itemName;?>','<?php echo $quantity;?>',<?php echo json_encode($product_inventory);?>);">
</td> 
<script type="text/javascript"> 
    function check_valid_range(product_field, quantity_field, inventory){ 
        var product = document.getElementById(product_field).value; 
        var quantity = document.getElementById(quantity_field).value; 
        var v = inventory[product]; 
        alert(v); 
    } 
</script>

最佳答案

JSON 是完美的:

<?php

$mySweetJSONString = json_encode($myAssocPHPArray);

?>
<script>
    var iWantThePHPArrayHere = <?php echo $mySweetJSONString; ?>;
</script>

用户 pst提出了这些担忧:

  • "array("</script>") -- darn, just broke this "perfect" approach."
    它似乎有效,因为( </script> => <\/script> ):
    jsFiddle

  • "What about ]]> which could occur in XHTML?"
    字符串可以传输。
    jsFiddle


更新:

关于调试JS的问题:
控制台中是否有任何错误?您的 document.getElementById(...) 之一可能会返回一个空值。因此成员(member)value不存在。

关于php - 将关联数组从 php 传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217054/

相关文章:

javascript - 为什么 PayPal 智能按钮无法识别我的商品数组?

arrays - 通过比较数组进行ElasticSearch 5.1过滤

php - 根据主键将html表单连接到php页面

尽管增加,PHP 内存限制已耗尽

php - 使用 cURL 发送原始二进制文件和数据

javascript - 是否有任何 JavaScript 实时语法荧光笔?

javascript - 为什么这个 JSON 是 "invalid?"

c - 为结构体动态分配内存

java - 如何转换数字并将其存储在 char 数组中,然后将 char 数组转换为 String 以便打印整数?

php - Nginx 没有 'Access-Control-Allow-Origin' header