Вчера я задал вопрос о майнингах, на который был любезно ответил. Однако я наблюдал какое-то странное поведение и хотел бы понять, что происходит.
В моем php у меня есть массив, который я отправляю обратно в веб-клиентскую программу javascript, которая ее использует.
В 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);
В js я распаковываю его для использования с:
var json = eval('(' + data + ')');
Проблема в том, что индекс времени 0 в js обрабатывается как строка, но индекс 1 Timestamp обрабатывается как int.
С образовательной точки зрения кто-нибудь знает, что происходит?