Juggling tipe variabel (juggling) PHP tidak memerlukan (atau tidak mendukung) mendeklarasikan variabel untuk menentukan tipe variabelnya; jenis variabel ditentukan oleh konteks di mana variabel tersebut digunakan, yaitu jika Anda memberikan variabel Jika var diberi nilai string, var menjadi variabel string. Jika Anda menetapkan bilangan bulat ke var, itu menjadi variabel bilangan bulat. Contoh PHP yang secara otomatis mengkonversi tipe variabel adalah operator penjumlahan '+'. Jika ada operan yang bernilai ganda, maka semua operan dievaluasi sebagai ganda, dan hasilnya juga ganda. Jika tidak, operan akan dianggap bilangan bulat dan hasilnya akan berupa bilangan bulat. Perhatikan bahwa ini tidak mempengaruhi jenis variabel dari setiap operan itu sendiri, satu-satunya perubahan adalah bagaimana operan diproses selama penghitungan. |
|
Jika menurut Anda dua ekspresi terakhir pada contoh di atas terlihat sedikit aneh, silakan lihat bagian "Konversi String". Jika Anda ingin memaksa suatu variabel untuk dievaluasi sebagai tipe tetap, lihat bagian "Casting". Jika Anda ingin mengubah tipe suatu variabel, silakan lihat deskripsi fungsi "settype()". Menentukan tipe suatu variabel Karena PHP menentukan tipe variabel itu sendiri dan umumnya melemparkannya sesuai kebutuhan, tipe variabel tertentu tidak selalu jelas. PHP menyertakan fungsi untuk mengetahui jenis variabel ini. Fungsi-fungsi ini adalah gettype(), is_long(), is_double(), is_string(), is_array(), dan is_object(). Tipe casting Tipe casting di PHP hampir sama dengan di C: Anda memerlukan tipe yang tertulis tanda kurung sebelum variabel yang akan dipaksa. |
|
Metode pemaksaan berikut diperbolehkan: (int), (integer) - pemaksaan ke bilangan bulat (nyata), (ganda), (float) - pemaksaan ke presisi ganda (string) - pemaksaan ke string (array) - pemaksaan ke Array (objek ) – Dipaksakan ke suatu objek. Perhatikan bahwa tab dan spasi diperbolehkan dalam tanda kurung,sehingga pernyataan berikut ini setara: $foo = (int) $bar; $foo = (int) $bar; nilai numerik, hasil dan jenisnya ditentukan seperti dijelaskan di bawah. Jika string ini berisi karakter '.', 'e', atau 'E', maka string tersebut diperlakukan sebagai variabel tipe ganda, jika tidak, string tersebut dianggap sebagai bilangan bulat. Nilai string ini ditentukan oleh awalan. Jika string dimulai dengan data numerik yang valid, maka data numerik tersebut adalah nilai yang digunakan untuk mengevaluasi string tersebut. Jika tidak, nilainya nol. Data numerik yang valid mengikuti notasi berikut, diikuti oleh satu atau lebih digit (yang mungkin menyertakan koma desimal), diikuti oleh eksponen opsional. Eksponen dibentuk oleh satu atau lebih angka yang diikuti dengan 'e' atau 'E'. |
|
Untuk informasi lebih lanjut, lihat bagian manual Unix di strtod(3). |