Ben çok hızlı bir test yaptık:
$a = array(
'id' => 152,
'another' => 'test',
'ananother' => 456,
);
$json = json_encode($a);
echo $json;
Bu yanılmıyorsam eğer, ne tarif gibi görünüyor?
Ve ben çıkış olarak alıyorum:
{"id":152,"another":"test","ananother":456}
Yani, bu durumda, tamsayılar dizgeye dönüştürülür edilmemiştir.
Still, this might be dependant of the version of PHP we are using : there have been a couple of json_encode related bugs corrected, depending on the version of PHP...
Bu test PHP 5.2.6 ile yapılmış; PHP 5.2.9 ve 5.3.0 ile aynı şeyi alıyorum; Ben test etmek için başka 5.2.x sürümü var, ama :-( yok
PHP hangi sürümünü kullanıyorsunuz? Ya da test case deftere örnek daha karmaşıktır?
Belki tek hata raporu http://bugs.php.net/ ile ilgili olabilir? Örneğin, Bug #40503 : json_encode integer conversion is inconsistent with PHP?
Maybe Bug #38680 could interest you too, btw ?