3

I have a PHP array I want to use in my JavaScript code. I'd rather not do something like <?PHP $array['array2name'][0]?> for all of the elements in it as it's number is unknown. I was going to do a while loop to write in some of the data into elements but I cannot seem to find an easy way to do this currently.

How do I pass a 2d array from PHP to JavaScript in the easiest way possible?

2

2 Answers 2

12

As a JSON Object using the json_encode function. You can then read this with Javascript easily as it is a native javascript object. http://php.net/manual/en/function.json-encode.php

json_encode($array);

JSON is easily parsable in JQuery, but for pure JavaScript see here:

http://www.json.org/js.html

Sign up to request clarification or add additional context in comments.

1 Comment

Problem with this is you lost the order of your array during the parsing from string to JSON object on javascript side. for example. array with key as 0 0.5 1 will be altered to 0 1 0.5 by javascript. This behavior varies by browser.
0

Lazy method:

<script>
var arr = [];

<?php
    $phparray = array(array(1, 2, 3), array(4, 5, 6));

    foreach ($phparray as $i) {
        echo 'arr.push([' . implode(', ', $i) . ']);';
    }
?>

</script>

This isn't the "best" method, but hey it works.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.