Diese ok so lange funktioniert, wie sie nur Ein Eintrag wird zum Array hinzugefügt, Ich füge mehrere Werte, in anderen Worte die Funktion wird ein paar mal laufen und dann möchte ich senden gesamte Array, aber dies scheint nur hinzufügen alles mit einem Komma Delimeter.
Ich bin nicht sicher, was Sie genau hier sagen. Das zweite Beispiel, das ich zuvor gegeben habe, nimmt an, dass es für jedes uid
ein einzelnes x, y-Paar gibt, setzt aber keine Grenzen dafür, wie viele uid
s in _tags
sind. Deshalb ist var _tags = {};
auf unserer Seite der Funktion - so ist es eine globale Variable.
die folgenden Änderungen würden können Sie mehrere x, y-Paare für jede uid
haben:
function add_tag_queue(uid,x,y){
/*
* detect if _tags[uid] already exists with one or more values
* we assume if its not undefined then the value is an array...
* this is similar to doing isset($_tags[$uid]) in php
*/
if(typeof _tags[uid] == 'undefined'){
/*
* use an array literal by enclosing the value in [],
* this makes _tags[uid] and array with eah element of
* that array being a hash with an x and y value
*/
_tags[uid] = [{'x':x,'y':y}];
} else {
// if _tags[uid] is already defined push the new x,y onto it
_tags[uid].push({'x':x, 'y':y});
}
}
Dies sollte funktionieren:
function add_tag_queue(uid,x,y){
_tags.push([uid, x,y]);
}
, wenn Sie die uid
als Schlüssel wollen Dann müssen Sie ein Objekt/Hash nicht array
verwenden 0
var _tags = {}; // tags is an object
function add_tag_queue(uid,x,y){
_tags[uid] = {'x':x,'y':y};
}
Das funktioniert gut, solange nur ein Eintrag zum Array hinzugefügt wird. Ich füge mehrere Werte hinzu, dh die Funktion wird ein paar Mal ausgeführt und dann möchte ich das gesamte Array senden. aber das scheint nur alles mit einem Kommadealimeter hinzuzufügen. – Brian
Die zweite Methode, die ich denke, ist, was ich will, aber haben Sie eine Idee, wie Sie das in ein Array in PHP konvertieren? – Brian
'json_decode' dekodiert eine JSON-Zeichenfolge in ein PHP-Array. http://php.net/manual/en/function.json-decode.php – prodigitalson