如何通过jsonencode函数合并从mysql接收的数组


how merge arrays receiving from mysql by json_encode function

我在这个问题上坐了很长时间,找不到解决方案:

通过在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(','));
  }