我需要在PHP中用jQuery创建一个assosiative数组。
到目前为止,这是我的脚本。 selectedStoresDict
是json
编码数组,其值为["Lahore", "Islamabad"]
var selectedStores = <?php echo $selectedStoresDict; ?>;
var data = {};
for( i = 0 ; i <= selectedStores.length; i++) {
data['id'] = i;
data['text'] = selectedStores[i];
}
console.log(data, "Hello, world!");
但是我的控制台显示它不是一个数组。我想要这样的东西:
[{ id: 1, text: 'Lahore' }, { id: 2, text: 'Islamabad' }]
答案 0 :(得分:6)
我认为这应该是一个JS问题,而不是PHP问题,但是你有。你几乎就在那里:
var selectedStores = <?php echo $selectedStoresDict; ?>;
var data = [];
for( i = 1 ; i <= selectedStores.length; i++) {
data.push({
id: i,
text: selectedStores[i]
});
}
console.log(data, "Hello, world!");
JS中的数组用[]表示,所以你需要像那样初始化它,然后只需按下信息(在这种情况下,使用键和值对象)。对于以1开头的id,您必须初始化i = 1.
答案 1 :(得分:0)
无需循环播放。
只需json_encode数组
<?php
$selectedStoresDict[] = array("id"=>1,"text"=>"Lahore");
$selectedStoresDict[] = array("id"=>2,"text"=>"Islamabad");
?>
<script>
console.log('<?php echo json_encode($selectedStoresDict); ?>');
</script>