Nico R.: Fehler "unexpected token: numeric literal" beim Versuch PHP-Array zu übernehmen

Beitrag lesen

Hallo zusammen,

ich versuche, ein PHP-Array in ein JS-Objekt zu überführen. Es handelt sich um ein numerisches Array, das in PHP fehlerfrei funktioniert. Aber wenn ich es versuche per

let toreArrayDB = "<?=json_encode($toreArray)?>";

als JS-Objekt zu speichern, bekomme ich in in der Konsole diese Fehlermeldung: Uncaught SyntaxError: unexpected token: numeric literal

So sieht der Variablen-Inhalt im Debugger aus:

let toreArrayDB = "{"0":["347",{"1":["10",null]}],"1":["344",{"1":["20","1"],"2":["30",null]}],"3":["338",{"1":["30",null]}]}";

Das sieht doch eigentlich nach korrektem JSON-Format aus. Oder nicht? Übersehe ich etwas? Warum lässt mich JS das nicht zumindest als String speichern?

Der Vollständigkeit halber hier noch das PHP-Array:

array(3) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "347"
    [1]=>
    array(1) {
      [1]=>
      array(2) {
        [0]=>
        string(2) "10"
        [1]=>
        NULL
      }
    }
  }
  [1]=>
  array(2) {
    [0]=>
    string(3) "344"
    [1]=>
    array(2) {
      [1]=>
      array(2) {
        [0]=>
        string(2) "20"
        [1]=>
        string(1) "1"
      }
      [2]=>
      array(2) {
        [0]=>
        string(2) "30"
        [1]=>
        NULL
      }
    }
  }
  [3]=>
  array(2) {
    [0]=>
    string(3) "338"
    [1]=>
    array(1) {
      [1]=>
      array(2) {
        [0]=>
        string(2) "30"
        [1]=>
        NULL
      }
    }
  }
}

Schöne Grüße

Nico