here is the code to convert javascript array to php array..... this is done with cookies...
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function checkCookie()
{
var a_php = "";
var a=new Array();
/*
a[0]="Saab";
a[1]="Volvo";
a[2]="BMW";
a[3]="sample"
a[4]="Saab";
a[5]="Volvo";
a[6]="BMW";
a[7]="sample"
a[8]="Saab";
a[9]="Volvo";
a[10]="BMW";
a[11]="sample"
a[12]="Saab";
a[13]="Volvo";
a[14]="BMW";
a[15]="sample"
a[16]="Saab";
a[17]="Volvo";
a[18]="BMW";
a[19]="sample"
a[20]="Saab";
a[21]="Volvo";
a[22]="BMW";
a[23]="sample"
a[24]="Saab";
a[25]="Volvo";
a[26]="BMW";
a[27]="sample"
*/
for(var t=0;t<350;t++)
a[t]="hello"+t;
for(var count=0;count<a.length;count++)
a_php = a_php+a[count]+",";
setCookie("new_cookie1",a_php,3);
}
</script>
is there any possible way to convert javascript array to php without cookies....
4 Answers 4
Sometimes it is not possible to change server side to change output to json. I had input in the form i.e.
[ ['azz2465014416', '8', '22'],['azz2465014418', '10', '22'],['azz2465014420', '12', '22'],['azz2465014422', '14', '22'] ]
and I get php array from this input using this php code:
<?php
$a = "[ ['azz2465014416', '8', '22'],['azz2465014418', '10', '22'],['azz2465014420', '12', '22'],['azz2465014422', '14', '22'] ]";
$b = '$c = '.(str_replace(array('[',']'),array('array(',')'),$a)).';';
eval($b);
print_r($c);
you will have then in varible $c resulted output. This is not ideal solution. It will not cover every javascript array, but if you have trouble with some array, you can change it to cover your situation.
Comments
In JS:
var a, s;
a = [ 'one', 'two', 'three'];
s = JSON.stringify( a );
//Do something to send `s` to the server in a request
In PHP, assuming s came from client in a cookie
<?php
$a = json_decode( $_COOKIE['s'], true );
Simple as that.
2 Comments
json_decode($JSArrayString, true)... simple!You Should Post it to another(or current) page to be processed with PHP. If you don't want page to be redirected Use AJAX to send Array to PHP.
4 Comments
You can use JSON to do this.
On the JavaScript-side, just use JSON.stringify(theArray); to create a JSON-representation of that array.
In PHP you can use json_decode(theString, true); to get the array
Links:
http://php.net/manual/function.json-decode.php
http://en.wikipedia.org/wiki/JSON
a_php=encodeURIComponent(JSON.stringify(a))then use a_php as a GET or POST parameter to the php script that uses it. there you decode it withjson_decode(rawurldecode($_GET['a_php']))