После нескольких часов отладки я обнаружил ошибку в одном из моих скриптов.Для сохранения различных типов событий в базе данных у меня есть массив уникальных данных для каждого события, которые можно использовать для идентификации события.
Поэтому у меня в основном есть некоторый код, такой как
$key = md5(json_encode($data));
генерировать уникальный ключ для каждого события.
Теперь в некоторых случаях значение в массиве $data
является целым числом, иногда строкой (в зависимости от того, откуда оно взято - база данных или URL).Это приводит к тому, что выходные данные json_encode()
отличаются друг от друга - один раз, включая кавычки, один раз нет.
Кто-нибудь знает способ "унифицировать" типы переменных в массиве $data
?Это, вероятно, означало бы преобразование всех строк, которые содержат только целочисленное значение, в целое число.Что еще мне нужно позаботиться при использовании json_encode()
?