Ich habe gestern eine Frage über bigints gestellt, die freundlicherweise beantwortet wurde. Ich habe jedoch ein seltsames Verhalten beobachtet und würde gerne verstehen, was vor sich geht.MySql - bigints, php und auto string/int casting flip-flopping
In meinem PHP habe ich ein Array, das ich zurück zu einem Javascript-Web-Client-Programm senden, die es verwendet.
in der PHP-
sendBack = null;
sendBack[0]['TimeStamp'] = $Time; // A bigint got from a mysql table milliseconds from 1970
sendBack[0]['Text'] = $Message; // A varchar message got back from mysql
// I am guessing at this point you have worked out this is a text-chatroom thing going on
sendBack[1]['TimeStamp'] = 0; // A zero indicates an admin issue - note its an int but a small one
sendBack[1]['Text'] = $MessageAdmin;
// And I pack it up to send back
echo json_encode($sendBack);
In den js ich es auspacken mit verwenden:
var json = eval('(' + data + ')');
Das Problem ist, wird der Index 0 Timestamp in den js als String behandelt wird, aber die index 1 Zeitstempel wird als int behandelt.
Aus pädagogischer Sicht weiß jemand, was vor sich geht?