首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从PHP数组创建Javascript数组

从PHP数组创建Javascript数组
EN

Stack Overflow用户
提问于 2013-05-23 18:11:18
回答 3查看 231关注 0票数 2

我很难从PHP数组转换到Javascript数组,然后访问该值。我尝试过JSON的编码和解码。

PHP:

代码语言:javascript
运行
复制
$simpleArray= [];   
$childProducts = Mage::getModel('catalog/product_type_configurable')
    ->getUsedProducts(null,$_product);   
foreach($childProducts as $child) { //cycle through simple products to find applicable
    $simpleArray[$child->getVendor()][$child->getColor()] = $child->getPrice();
    var_dump ($simpleArray);
}

Javascript:

代码语言:javascript
运行
复制
var simpleArray = <?=json_encode($simpleArray)?>;
//..lots of unrelated code
for(var i=0; i < IDs.length; i++)
{   
    console.log(simpleArray);
    //which color id is selected 
    var colorSelected = $j("#attribute92 option:selected").val();
    console.log('Value of color selected is ' + colorSelected);
    $j('.details'+data[i].vendor_id).append('<li class="priceBlock">$'+simpleArray[i][colorSelected]+'</li>');
}

编辑:我已经去掉了php中的simpleArrayJson声明,并更改了javascript的第一行。

EN

回答 3

Stack Overflow用户

发布于 2013-05-23 18:16:05

这不是您要输出的值json_decode()的理由。只要直接回音:

代码语言:javascript
运行
复制
var simpleArray = <?= $simpleArrayJson ?>;

这将输出一个javascript对象文本。

票数 3
EN

Stack Overflow用户

发布于 2013-05-23 18:13:59

尝试一个for in循环。

代码语言:javascript
运行
复制
for( item in data ) {
    console.log(data[item]);
}

这是因为json有与json_encoded数组的索引相匹配的键,而不一定是0->n个索引。

编辑感谢注释将data.item更改为data[item]

票数 0
EN

Stack Overflow用户

发布于 2013-05-23 18:15:09

从php中删除。

代码语言:javascript
运行
复制
$simpleArrayJson=json_encode($simpleArray, JSON_FORCE_OBJECT);

在这里,您将php数组转换为json字符串。

更改javascript

代码语言:javascript
运行
复制
var simpleArray = <?= json_encode($simpleArray, JSON_FORCE_OBJECT); ?>;

在这里,你只是在发泄刺痛。以前你在哪里做这个

代码语言:javascript
运行
复制
var simpleArray = <?=(array) json_decode($simpleArrayJson)?>

在json_decode返回数组之后,将数组转换为数组,然后由<?=将数组转换为字符串,因此,最终到达浏览器的内容如下:

代码语言:javascript
运行
复制
var simpleArray = Array; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16721018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档