用javascript打印PHP数组


Print PHP array in javascript

我有一个数组,如下所示。我试图用JavaScript遍历这个二维数组,但它不是一个接一个地打印元素,而是一次打印整行。

下面是阵列:

array(7) {
  [0]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
      [1]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.8793215)
      }
      [2]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.8793215)
      }
      [3]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.3976574)
      }
      [4]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
      [1]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.8793215)
      }
      [2]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.8793215)
      }
      [3]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.3976574)
      }
      [4]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
    }
  }
  [2]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
      [1]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.8793215)
      }
      [2]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.8793215)
      }
      [3]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.3976574)
      }
      [4]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
    }
  }
  [3]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(77.18995)
        [1]=>
        float(28.5894774)
      }
      [1]=>
      array(2) {
        [0]=>
        float(77.18995)
        [1]=>
        float(28.6315224)
      }
      [2]=>
      array(2) {
        [0]=>
        float(77.2277674)
        [1]=>
        float(28.6315224)
      }
      [3]=>
      array(2) {
        [0]=>
        float(77.2277674)
        [1]=>
        float(28.5894774)
      }
      [4]=>
      array(2) {
        [0]=>
        float(77.18995)
        [1]=>
        float(28.5894774)
      }
    }
  }
  [4]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(6.7604429)
      }
      [1]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(37.07827)
      }
      [2]=>
      array(2) {
        [0]=>
        float(97.4152924)
        [1]=>
        float(37.07827)
      }
      [3]=>
      array(2) {
        [0]=>
        float(97.4152924)
        [1]=>
        float(6.7604429)
      }
      [4]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(6.7604429)
      }
    }
  }
  [5]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
      [1]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.8793215)
      }
      [2]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.8793215)
      }
      [3]=>
      array(2) {
        [0]=>
        float(77.3476518)
        [1]=>
        float(28.3976574)
      }
      [4]=>
      array(2) {
        [0]=>
        float(76.8425202)
        [1]=>
        float(28.3976574)
      }
    }
  }
  [6]=>
  array(1) {
    [0]=>
    array(5) {
      [0]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(6.7604429)
      }
      [1]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(37.07827)
      }
      [2]=>
      array(2) {
        [0]=>
        float(97.4152924)
        [1]=>
        float(37.07827)
      }
      [3]=>
      array(2) {
        [0]=>
        float(97.4152924)
        [1]=>
        float(6.7604429)
      }
      [4]=>
      array(2) {
        [0]=>
        float(68.1061138)
        [1]=>
        float(6.7604429)
      }
    }
  }
}

这是它的javascript代码。

<script type="text/javascript">
    var Jarray = [[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[77.18995,28.5894774],[77.18995,28.6315224],[77.2277674,28.6315224],[77.2277674,28.5894774],[77.18995,28.5894774]]],[[[68.1061138,6.7604429],[68.1061138,37.07827],[97.4152924,37.07827],[97.4152924,6.7604429],[68.1061138,6.7604429]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[68.1061138,6.7604429],[68.1061138,37.07827],[97.4152924,37.07827],[97.4152924,6.7604429],[68.1061138,6.7604429]]]];
    console.log(Jarray.length);
    for(var i = 0; i < Jarray.length; i++) {
        var points = Jarray[i];
        for(var j = 0; j < points.length; j++) {
            console.log("Points[" + i + "][" + j + "] = " + points[j]);
        }
    }
    </script>

我得到的输出是这样的:

Points[0][0] = 76.8425202,28.3976574,76.8425202,28.8793215,77.3476518,28.8793215,77.3476518,28.3976574,76.8425202,28.3976574  
Points[1][0] = 76.8425202,28.3976574,76.8425202,28.8793215,77.3476518,28.8793215,77.3476518,28.3976574,76.8425202,28.3976574  and so on 

是否可以像下面给出的那样一个接一个地打印阵列的元素:

76.8425202,28.3976574  
76.8425202,28.8793215  and so on...

再进行一次for循环将完成

for(var i = 0; i < Jarray.length; i++) {
    var points = Jarray[i];
    for(var j = 0; j < points.length; j++) {
      for(var k = 0; k < points[j].length; k++)
        console.log(points[j][k][0] + "," + points[j][k][1]);
    }
}

演示:JSBin

只需尝试更改行

var points = Jarray[i];

var points = Jarray[i][0];

实际原因是,您的点编组嵌套在数据结构的第二级上的单个元素数组中。