Wallflower Wallflower - 1 year ago 64
PHP Question

How to send 2 multidimensional array via json_encode for PHP

I want to retrieve array for my ajax function using json_encode in Laravel PHP, but the problem is i need to send 2 multidimensional array from my controller so i can do nested loop inside my ajax using those 2 different multidimensional array,

the ajax simple example (this is my wrong version):

function getData() {
jQuery(document).ready(function() {
url: "test",
type: 'GET',
data: {counter : ctr},
dataType: "json",
success: function(data1,data2) {
$.each(data1.length, function(i, item) {
$.each(data2, function(i, item) {
error: function(data) {

sending data php using json_encode code:

$data1 = array

$data2 = array

echo json_encode(???);

Answer Source

You can do in one array like below

$data = array (
        array (
            array("name" => "test1", "value" => array(22,18)),
            array("name" => "wow", "value" => array(15,13))
        array (
            array("name" => "test2", "value" => array(22,18)),
            array("name" => "ish", "value" => array(15,13))

// return your resoponse using laravel function instead of json_encode (this will include json header as well)
return response()->json($data)

Your jquery success function will be like below

success: function(data) {
    $.each(data, function(i, item) {
        // item for data 1
        $.each(item[i], function(i, row) {

Please take not that i have improve the array in php structure to be more easier to read by jquery and more dynamic