Ich versuche, mein Array von lat und lng an mein PHP-Skript zu übergeben, damit das Skript es in einer .txt-Datei speichern kann.Fehler beim Übergeben des Arrays von Javascript zu PHP
ich meine Serialisierung zu serialisieren und es an das PHP-Skript übergeben ... und auf der PHP-Seite, es gelingt mir, es zu deserialisieren. Wenn ich jedoch das Array in die Datei schreibe, wird die Datei nur als "Array Array Array" angezeigt ... und nicht als Wert ... angenommen "(1.3567, 103.124252) (1.3543, 103.436435)".
unter meinem Beispielcode ist (serialisiert):
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 (deserialisieren und Datei einfügen):
$data = $_POST['y'];
$arr = unserialize($data);
$fp=fopen("route.txt","w+");
foreach($arr as $key => $value){
fwrite($fp,$value."\t");
}
Vielen Dank für Ihre Hilfe! : D
oh die Join (', $ Wert) wirklich helfen !! .. Vielen Dank !! :) – Dayzza
@ Jonathan BTW, es scheint, dass Ihre JS ist tatsächlich in JSON Codierung, aber PHP ist unserializing mit 'unserialize', die nicht in der Lage sein soll, JSON zu verstehen ...?! – deceze
hmmm nicht sicher darüber .. aber mit unserialize verwalten, um den Wert aus dem Array zu bekommen. – Dayzza