Komut dizisinin bir .txt dosyasına kaydedebilmesi için, PHP betiğime lat ve lng dizimi iletmeye çalışıyorum.Dizide javascript'ten PHP'ye geçme hatası
Dizimi serileştirmeyi ve php betiğine aktarmayı başarabiliyorum ... ve php tarafında, onu sıraya almayı başaramıyorum. Bununla birlikte, diziyi dosyaya yazdığımda, dosya sadece "dizi dizi dizisi" olarak gösterilir ... ve "(1.3567, 103.124252) (1.3543, 103.436435)" değerini varsaymaz.
Aşağıda benim örnek kod (seri hale getirmek için):
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 unserialize (ve dosyaya yapıştırmak): TÜM YARDIM İÇİN
$data = $_POST['y'];
$arr = unserialize($data);
$fp=fopen("route.txt","w+");
foreach($arr as $key => $value){
fwrite($fp,$value."\t");
}
TEŞEKKÜRLER! : D
oh join (',' $ value) gerçekten yardımcı olur! .. Teşekkürler çok !! :) – Dayzza
@Jonathan BTW, JS'nizin aslında JSON'da kodlandığı anlaşılıyor, ancak PHP, JSON'u anlayabilmemeli olan 'unserialize' kullanarak ... – deceze
hmmm hakkında emin değilim .. ama diziden değer elde etmek için unserialize kullanarak yönetmek. – Dayzza