Assad Nazar
Assad Nazar

Reputation: 1464

how to use php multidimensional array in jquery

my php code

$classObject = new class_functions();
$city = $_REQUEST['city'];
$locations[] = $classObject->populate_locations($city);
echo "var result=".json_encode($locations);

my jquery

$("select[name='city']").change(function(){
    var city = $("select[name='city']").serialize();
    $.ajax( 
    { 
       type: "POST", 
       url: "jquerycalls.php", 
       data: city,
       beforeSend: function() {
       //alert("asdf");
       },
       success: function(data1) {
       // multidimensional array over here
       }

    });  
});

The result i get from an alert in the success: part of jquery

var result=[[["Aabpara Market"],["AGHOSH"],["Akbar Town"],["Alipur Farash"],["Atomic Energy Employee Society"],["AWT"],["B-17"],["Bahria Town"],["Bani Gala"],["Bharakhu"],["Blue Area"],["British Homes Colony"],["Burma Town"],["CBR Town"],["Chak Shahzad"],["Chaklala Scheme 3"],["Civic Centre"],["D-12"],["D-13"],["D-16"],["D-17"],["D-18"],["Darussalam Co-Op Society"],["Defence Phase-2"],["Defence Phase-I"],["DHA Valley"],["Diplomatic Enclave"],["E-6"],["E-7"],["E-11"],["E-12"],["E-14"],["E-16"],["E-17"],["E-18"],["Engineers Cooperative Housing Society"],["F-10"],["F-11"],["F-13"],["F-15"],["F-16"],["F-17"],["F-5"],["F-6"],["F-7"],["F-8"],["Fateh Jang"],["G-5"],["G-6"],["G-7"],["G-8"],["G-9"],["G-10"],["G-11"],["G-13"],["G-14"],["G-15"],["G-16"],["G-17"],["Ghauri Town"],["Gulzar Housing Scheme"],["H-13"],["H-15"],["H-8"],["H-9"],["Humak"],["I-8"],["I-9"],["I-10"],["I-11"],["I-12"],["I-14"],["I-15"],["I-16"],["I-17"],["Islamabad Airport"],["Islamabad Cooperative Housing Society"],["J and K Zone-V"],["Jinnah Garden"],["Jinnah Super Market"],["Jinnah Town"],["Judicial Town"],["Kahuta"],["Korang Town"],["Margalla Town"],["Melody Market"],["Motorway City"],["Muree Expressway"],["National Police Foundation"],["Naval Anchorage"],["New Shakrial"],["O-9"],["Orchard Scheme"],["P.W.D Housing Scheme"],["PAF Tarnol"],["Pakistan Housing Society"],["Pakistan Town"],["PECHS"],["Rawal Town"],["River Garden"],["Roshan Pakistan Scheme"],["Sangjani"],["Sawan Garden"],["Shehzad Town"],["Sihala"],["Sohan Valley"],["Super Market"],["Tarlai"],["Top City 1"],["University Town"],["Wapda Town"],["Zero Point"],["Zone 5"]]]

How can i use the multidimensional array that is returned from the php code?

Upvotes: 1

Views: 1030

Answers (2)

Alan Geleynse
Alan Geleynse

Reputation: 25139

Change the PHP to:

echo json_encode($locations);

And then in the JQuery you can do:

success: function(data1) {
    var result = eval(data1);
    result[0][0];
}

You can access the other elements in the array the same way.

Upvotes: 1

Hamish
Hamish

Reputation: 23316

Easiest method is to use json_encode to turn it into a string that can be evaluated as a JavaScript object.

ie:

$locations[] = $classObject->populate_locations($city);
echo "var result = " . json_encode($locations) . ";" // valid JavaScript.

Upvotes: 1

Related Questions