使用JavaScript数组推送php json数组

I would like to push arrays which i got from Php page into javascript array by using jquery ajax. i have tried below code.

it outputs like

{"id":12,"name":"some-one"},{"id":1,"name":"john"}{"id":2,"name":"willy"}{"id":3,"name":"keith"}

what i want is, the structure of my arrays should be like this

{"id":12,"name":"some-one"},{"id":1,"name":"john"},{"id":2,"name":"willy"},{"id":3,"name":"keith"}

i have written my codes below, please help me someone else.

index.php

var arrs =[];
arrs.push(JSON.stringify({'id':12,'name':'some-one'}));
$.ajax({
    type:'POST',
    url:'my_arr_call.php',
    success:function(data){
        arrs.push(data);
        alert(arrs);

    }
});

my_arr_call.php

<?php 
$my_arr = array(
    array('id'=>1,'name'=>'john'),
    array('id'=>2,'name'=>'willy'),
    array('id'=>3,'name'=>'keith')
);

foreach($my_arr as $v){
    $my_arrs = $v;
    print json_encode($my_arrs);
}



?>

The problem is when you looped through the array and printed each element one by one. You can just print/echo the whole array instead (never forget the json_encode) to retain the structure.

<?php 
$my_arr = array(
    array('id'=>1,'name'=>'john'),
    array('id'=>2,'name'=>'willy'),
    array('id'=>3,'name'=>'keith')
);

echo json_encode($my_arr);
?>

Then on the client-side:

var arrs =[];
arrs.push({'id':12,'name':'some-one'});
$.ajax({
    type:'POST',
    url:'my_arr_call.php',
    success:function(data){
        arrs = arrs.concat(data);
        alert(arrs);
    }
});

The below codes work pefectly as i expected.

var arrs =[];
    arrs.push({'id':12,'name':'some-one'});
    var str_ar1 = JSON.stringify(arrs);
$.ajax({
    type:'POST',
    url:'my_arr_call.php',
    success:function(data){
        var all_arrs = JSON.stringify(JSON.parse(str_ar1).concat(JSON.parse(data)));
        alert(all_arrs);
    }
});

it outputs correctly as i expected,

[{"id":12,"name":"some-one"},{"id":1,"name":"john"},{"id":2,"name":"willy"},{"id":3,"name":"keith"}]

Thanks.