我在这个问题上坐了很长时间,找不到解决方案:
通过在php文件中使用函数json_encode(下面的脚本),我从mysql接收数据,作为一组数组,例如["9,8","15,14","18,17","29,40,10,9"]
,在主文件中使用$.parseJSON函数(下面的剧本),
接收索引对象为["9,8","15,14","18,17","29,40,10,9"....]
的数组而不是[9,8,15,14,18,17,29,40,10,9],
如何将所有这些对象合并在一起??
我试着使用$.merge函数,但不起作用。帮助??;-)
/////receive.php file//////
$ask = mysql_query("SELECT numbers FROM bying");
if(!ask)
{
die('incorrect ask'.mysql_error());
}
else{
$tab = array();
while ($row = mysql_fetch_assoc($ask))
{
$data=$row['numbers'];
array_push($tab,$data);
}
echo json_encode($tab);
mysql_free_result($ask);
}
html文件,带有$.parseJSON函数
$.post('receive.php', function(data)
{
var table1=[];
table1 = $.parseJSON(data);
var numbers=$.merge([],table1);)
for(var i=0;i<numbers.length;i++)
{
alert(numbers[i]);
}
}
看起来$data
是一个逗号分隔的数字字符串,如果是这样,你可以用逗号分隔它,然后合并两个数组:
$ask = mysql_query("SELECT numbers FROM bying");
if(!ask)
{
die('incorrect ask'.mysql_error());
}
else {
$tab = array();
while ($row = mysql_fetch_assoc($ask)) {
$data = explode( ',', $row['numbers'] );
$tab = array_merge( $tab, $data );
}
echo json_encode($tab);
mysql_free_result($ask);
}
为什么不以"显而易见"的方式迭代数组,将每个字符串拆分为",",并将每个解析后的数字附加到您构建的数组中?
例如
var newNums = [];
for (var i=0; i<table1.length; i++) {
newNums = newNums.concat(table1[i].split(','));
}