将二维php分配给二维javascript
我有一个二维javascript数组,我想分配给php数组 我尝试了以下方法,但无效:将二维php分配给二维javascript,javascript,php,Javascript,Php,我有一个二维javascript数组,我想分配给php数组 我尝试了以下方法,但无效: var js_array= [[]]; js_array = <?php echo $result;?>; var js_数组=[[]]; js_数组=; 我基本上创建了一个二维php数组,并分配给一个二维javascript数组 在这段代码中,我似乎看不到任何逻辑问题。有人能指出为什么这种方法可能不起作用吗 谢谢。你不能回显数组,只能回显字符串。看看PHP中的json\u encode函数:
var js_array= [[]];
js_array = <?php echo $result;?>;
var js_数组=[[]];
js_数组=;
我基本上创建了一个二维php数组,并分配给一个二维javascript数组
在这段代码中,我似乎看不到任何逻辑问题。有人能指出为什么这种方法可能不起作用吗
谢谢。你不能
回显数组,只能回显字符串。看看PHP中的json\u encode
函数:您会发现它可以满足您的需求
var js_thing = <?php echo json_encode($result);?>;
var js_thing=;
var js_array=[];
js_数组=;
尝试json\u encode
正如其他人指出的那样,json\u encode
是一个不错的选择。但是,在JS中接收的对象并不完全是数组。向您展示如何使用它非常简单。这应该可以做到
<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; ?>
var js_a=
这条路很难走。。而且可能很糟糕……) $result
中有什么内容?如果它本身就是数组,那么代码将是js\u array=array代码>;如果它是一个字符串,您是如何构建它的?@newfurniture$result是一个二维php数组。所以,我想把它分配给一个javascript数组。json非常适合这样做,您可以执行var js_array=代码>,它将工作-字符串、数字、数组,包括混合数组,以及更多,始终正确地编码为数据。
<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; ?>