将数组从javascript传递到PHP时出错

将数组从javascript传递到PHP时出错,php,javascript,arrays,serialization,Php,Javascript,Arrays,Serialization,我试图将我的lat和lng数组传递给我的PHP脚本,以便脚本可以将其保存到一个.txt文件中 我设法序列化我的数组并将其传递给php脚本。。。在php方面,我设法将其非序列化。但是,当我将数组写入文件时,文件仅显示为“array”。。。而不是价值。。。假设为“(1.3567103.124252)(1.3543103.436435)” 下面是我的示例代码(要序列化): PHP(要取消序列化并粘贴到文件): 谢谢你的帮助!:D 重新发明轮子多少?:)已经有很多库专门用于此目的,并且有大量的库用于en

我试图将我的lat和lng数组传递给我的PHP脚本,以便脚本可以将其保存到一个.txt文件中

我设法序列化我的数组并将其传递给php脚本。。。在php方面,我设法将其非序列化。但是,当我将数组写入文件时,文件仅显示为“array”。。。而不是价值。。。假设为“(1.3567103.124252)(1.3543103.436435)”

下面是我的示例代码(要序列化):

PHP(要取消序列化并粘贴到文件):

谢谢你的帮助!:D

  • 重新发明轮子多少?:)已经有很多库专门用于此目的,并且有大量的库用于en-和几乎任何语言的JSON解码。PHP随附
  • 写入文件时,
    $value
    本身就是一个数组。当数组被转换为字符串时(作为输出它的必要条件)。使用
    join(',',$value)
    输出由逗号分隔的数组的所有值
  • 重新发明轮子多少?:)已经有很多库专门用于此目的,并且有大量的库用于en-和几乎任何语言的JSON解码。PHP随附
  • 写入文件时,
    $value
    本身就是一个数组。当数组被转换为字符串时(作为输出它的必要条件)。使用
    join(',',$value)
    输出由逗号分隔的数组的所有值

  • 哦,加入(“,”$value)真的很有帮助!!。。非常感谢!!:)@Jonathan顺便说一句,看起来你的JS实际上是用JSON编码的,但是PHP是用
    unserialize
    进行非序列化的,这应该不能理解JSON。。。?!嗯,我不太确定。。但是使用unserialize管理从数组中获取值。哦,join(“,”$value)真的很有帮助!!。。非常感谢!!:)@Jonathan顺便说一句,看起来你的JS实际上是用JSON编码的,但是PHP是用
    unserialize
    进行非序列化的,这应该不能理解JSON。。。?!嗯,我不太确定。。但是使用unserialize可以从数组中获取值。
    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;
       }
    
    $data = $_POST['y'];
    
    $arr = unserialize($data); 
    
    $fp=fopen("route.txt","w+");
    foreach($arr as $key => $value){
    fwrite($fp,$value."\t");
    }