Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generating a JavaScript array from a PHP array

Tags:

javascript

php

Suppose that I have a string $var:

//php code

$var = "hello,world,test";
$exp = explode(",",$var);

Now I get the array as exp[0],exp[1],exp[1] as 'hello', 'world' and 'test', respectively.

I want to use this all value in javascript in this:

var name = ['hello','world','test'];

How can I generate that JavaScript in PHP?

like image 635
webkul Avatar asked Nov 29 '22 04:11

webkul


2 Answers

I would have thought json_encode would be the most reliable and simplest way.

E.g.

$var = "hello,world,test";
$exp = explode(",",$var);
print json_encode($exp);
like image 75
Karl B Avatar answered Nov 30 '22 16:11

Karl B


Karl B's answer is better - use that!

Wouldn't an easier way be like this:

$var = "hello,world,test";
$var = str_replace(",", "','", $var);

Then wherever you're spitting out JavaScript (assuming you can use PHP there):

var name = ['<?php echo $var; ?>'];

This doesn't deal properly with quoted values though - if you want that, you're better off with using fgetscsv et al.

If you're determined to use explode, then you can use its other-half, implode like this in your output:

var name = ['<? php echo implode("','", $var); ?>'];
like image 42
Dominic Rodger Avatar answered Nov 30 '22 18:11

Dominic Rodger