我有一个二维javascript数组,我想分配给php数组。
我尝试了以下但是没有用:
var js_array= [[]];
js_array = <?php echo $result;?>;
我基本上创建了一个二维php数组并分配给一个二维javascript数组。
我似乎没有在此代码中看到任何逻辑问题。有人可以指出为什么这种方法可能不起作用?
感谢。
答案 0 :(得分:1)
你不能echo
一个数组,只能是一个字符串。查看PHP中的json_encode
函数:http://us2.php.net/json_encode您会发现这可以满足您的需求。
var js_thing = <?php echo json_encode($result);?>;
答案 1 :(得分:1)
var js_array= [];
js_array = <?php echo json_encode($result);?>;
尝试json_encode
答案 2 :(得分:0)
正如其他人指出的那样,json_encode
是一个不错的选择。但是,您在JS中收到的对象并不完全是一个数组。 The answer to this question向您展示了如何使用它。
答案 3 :(得分:0)
应该这样做..
<script type="text/javascript">
<?php
$arr = array(
array(1,2,3,4,7),
array(5,3,6,8),
array(0,12,34,54,65)
);
$arr_str = '[';
foreach ($arr as $mv) {
$arr_str .= '[';
foreach ($mv as $sv) {
$arr_str .= $sv.',';
}
$l = strlen($arr_str);
if(substr($arr_str, -1) == ','){
$arr_str = substr($arr_str, 0, $l-1);
}
$arr_str .= '],';
}
$l = strlen($arr_str);
if(substr($arr_str, -1) == ','){
$arr_str = substr($arr_str, 0, $l-1);
}
$arr_str .= '];';
?>
var js_a =<?php echo $arr_str; ?>
它很难......而且可能糟透了..;)