- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,442
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 10 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,222
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
PHP'nin standart dağıtımları varsayılan olarak JSON desteğini etkinleştirir. PHP uzantısı JavaScript Nesne Gösterimi (JSON) veri değişim biçimini uygular. PHP ayrıştırıcısındaki JSON uzantısı JSON verilerini işler.
JSON (JavaScript Nesne Gösterimi), hafif, metin tabanlı, dilden bağımsız bir veri değişim biçimidir. JSON, yapılandırılmış verilerin taşınabilir gösterimi için küçük bir biçimlendirme kuralları kümesi tanımlar. Hem insanların hem de makinelerin okuması için kolay olan metin tabanlı bir veri biçimidir.
PHP 5.2 sürümünden itibaren JSON eklentisi, bir dizi önceden tanımlanmış sabit, JSON ile ilgili fonksiyonlar ve ayrıca bir JsonException sınıfı sağlar.
PHP JSON Fonksiyonları
PHP'nin aşağıdaki JSON fonksiyonları vardır.json_encode()
Bu fonksiyon, sağlanan değerin JSON gösterimini içeren bir dize döndürür. Parametre bir dizi veya nesneyse, yinelemeli olarak serileştirilir.json_encode(mixed $value, int $flags = 0, int $depth = 512): string|false
json_decode()
Bu fonksiyon JSON kodlu bir dizgeyi alır ve onu PHP değerine dönüştürür.json_decode(
string $json,
?bool $associative = null,
int $depth = 512,
int $flags = 0
): mixed
Bu fonksiyonun ilişkisel parametresi true olduğunda, JSON nesneleri ilişkisel diziler olarak döndürülür; false olduğunda ise JSON nesneleri nesne olarak döndürülür.
Kodlama/kod çözme işlemleri sağlanan bayraklardan etkilenir. Önceden tanımlanmış sabitler ve tam sayı değerleri aşağıdaki gibidir:
| Önceden Tanımlanmış Sabit | Değerler |
|---|---|
| JSON_HEX_TAG | 1 |
| JSON_HEX_AMP | 2 |
| JSON_HEX_APOS | 4 |
| JSON_HEX_QUOT | 8 |
| JSON_FORCE_OBJECT | 16 |
| JSON_NUMERIC_CHECK | 32 |
| JSON_UNESCAPED_SLASHES | 64 |
| JSON_PRETTY_PRINT | 128 |
| JSON_UNESCAPED_UNICODE | 256 |
json_last_error_msg()
Bu fonksiyon son json_encode() veya json_decode() çağrısının hata dizesini döndürür.json_last_error_msg(): string
Herhangi bir hata oluşmamışsa "Hata yok" mesajı döndürülür.
json_last_error()
Bu fonksiyon bir tamsayı döndürür.json_last_error(): int
Fonksiyon, aşağıdaki sabitlerden birine karşılık gelen bir tam sayı döndürür:
| Sr.No | Sabit ve Anlam |
|---|---|
| 1 | JSON_ERROR_NONE Hiçbir hata oluşmadı |
| 2 | JSON_ERROR_DEPTH Maksimum yığın derinliği aşıldı |
| 3 | JSON_ERROR_STATE_MISMATCH Geçersiz veya hatalı biçimlendirilmiş JSON |
| 4 | JSON_ERROR_CTRL_CHAR Kontrol karakteri hatası, muhtemelen yanlış kodlanmış |
| 5 | JSON_ERROR_SYNTAX Sözdizimi hatası |
| 6 | JSON_ERROR_UTF8 Hatalı biçimlendirilmiş UTF-8 karakterleri, muhtemelen yanlış kodlanmış |
| 7 | JSON_ERROR_RECURSION Kodlanacak değerde bir veya daha fazla yinelemeli referans |
| 8 | JSON_ERROR_INF_OR_NAN Kodlanacak değerde bir veya daha fazla NAN veya INF değeri |
| 9 | JSON_ERROR_UNSUPPORTED_TYPE Kodlanamayan bir türün değeri verildi |
| 10 | JSON_ERROR_INVALID_PROPERTY_NAME Kodlanamayan bir özellik adı verildi |
| 11 | JSON_ERROR_UTF16 Hatalı biçimlendirilmiş UTF-16 karakterleri, muhtemelen yanlış kodlanmış |
Örnek
Aşağıdaki PHP kodu verilen diziyi JSON gösterimine kodlar ve JSON dizesini PHP dizisine geri çözümler.
PHP:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
$encoded = json_encode($arr);
echo "The initial array: " . PHP_EOL;
var_dump($arr);
echo "Encoded JSON: $encoded" . PHP_EOL;
$decoded = json_decode($encoded);
echo "Array obtained after decoding: " . PHP_EOL;
var_dump($decoded);
?>
Aşağıdaki çıktıyı üretecektir:
The initial array:
array(5) {
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
int(3)
["d"]=>
int(4)
["e"]=>
int(5)
}
Encoded JSON: {"a":1,"b":2,"c":3,"d":4,"e":5}
Array obtained after decoding:
object(stdClass)#1 (5) {
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
int(3)
["d"]=>
int(4)
["e"]=>
int(5)
}




