String selalu mengevaluasi ke boolean true kecuali mereka memiliki nilai yang dianggap "kosong" oleh PHP (diambil dari dokumentasi untukempty
):
""
(string kosong);
"0"
(0 sebagai string)
Jika Anda perlu menetapkan boolean berdasarkan nilai teks dari suatu string, maka Anda harus memeriksa keberadaan atau nilai tersebut.
$test_mode_mail = $string === 'true'? true: false;
EDIT: kode di atas dimaksudkan untuk kejelasan pemahaman. Dalam penggunaan aktual, kode berikut mungkin lebih sesuai:
$test_mode_mail = ($string === 'true');
atau mungkin penggunaan filter_var
fungsi dapat mencakup lebih banyak nilai boolean:
filter_var($string, FILTER_VALIDATE_BOOLEAN);
filter_var
mencakup seluruh rentang nilai, termasuk nilai-nilai truthy "true"
, "1"
, "yes"
dan "on"
. Lihat di sini untuk detail lebih lanjut.