我有一个php数组(零索引),我通过回显它的json_encode格式直接发送到前端。
我希望JSON对象看起来像
{
'A': null,
'B': null,
'C': null
}
但是当我尝试使用console.log时,
console.log(<?php echo json_encode($array); ?>)
其打印js数组
当我在后端尝试print_r($ array)时,它会打印
[array] => Array
(
[0] => A
[1] => B
[2] => C
)
提前致谢
答案 0 :(得分:3)
此代码为您提供所需的输出
$array = array
(
'0' => 'A',
'1' => 'B',
'2' => 'C'
);
$array = array_fill_keys($array, NULL);
echo json_encode($array);
Out Put:
{"A":null,"B":null,"C":null}
使用Javascript:
<script type="text/javascript">
<!--
var data =<?php echo json_encode($array); ?>;
console.log(data);
//-->
</script>
Out Put:
Object {A: null, B: null, C: null}
A:null
B:null
C:null
答案 1 :(得分:2)
为什么不让你的PHP数组成为[&#39; A&#39; =&GT; null,&#39; B&#39; =&GT;空...]
否则,您的另一个选择是:
$newArray = array_fill_keys($tags, null);
json_encode($newArray);
这将获取$ tags中的每个数组元素,并将其设置为newArray中的索引,值为null。
根据您的代码,您将拥有:
<?php $newArray = array_fill_keys($tags, null);
$json = json_encode($newArray); ?>
console.log(JSON.parse(<?= $json; ?>));