I am trying to pass my array of lat and lng to my PHP script so that the script can save it to an .txt file.
i manage to serialize my array and pass it to the php script... and on the php side, i manage to unserialize it. However, when i write the array to the file, the file only show as "array array array" ... and not the value... suppose to be "(1.3567, 103.124252) (1.3543, 103.436435)".
Below is my sample code (to serialize):
function serialize(mixed_value)
{
var _getType = function( inp ) {
var type = typeof inp, match;
var key;
if (type == 'object' && !inp) {
return 'null';
}
if (type == "object") {
if (!inp.constructor) {
return 'object';
}
var cons = inp.constructor.toString();
match = cons.match(/(\w+)\(/);
if (match) {
cons = match[1].toLowerCase();
}
var types = ["boolean", "number", "string", "array"];
for (key in types) {
if (cons == types[key]) {
type = types[key];
break;
}
}
}
return type;
};
var type = _getType(mixed_value);
var val, ktype = '';
switch (type) {
case "function":
val = "";
break;
case "undefined":
val = "N";
break;
case "boolean":
val = "b:" + (mixed_value ? "1" : "0");
break;
case "number":
val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
break;
case "string":
val = "s:" + mixed_value.length + ":\"" + mixed_value + "\"";
break;
case "array":
case "object":
val = "a";
var count = 0;
var vals = "";
var okey;
var key;
for (key in mixed_value) {
ktype = _getType(mixed_value[key]);
if (ktype == "function") {
continue;
}
okey = (key.match(/^[0-9]+$/) ? parseInt(key, 10) : key);
vals += serialize(okey) +
serialize(mixed_value[key]);
count++;
}
val += ":" + count + ":{" + vals + "}";
break;
}
if (type != "object" && type != "array") {
val += ";";
}
return val;
}
PHP (to unserialize and paste to file):
$data = $_POST['y'];
$arr = unserialize($data);
$fp=fopen("route.txt","w+");
foreach($arr as $key => $value){
fwrite($fp,$value."\t");
}
THANKS FOR ALL YOUR HELP! :D