Dưới đây là một thủ thuật trực tuyến tôi đã không thấy đề cập trong các câu trả lời ở trên:
$val = strval(@$arr["notfound"]); // will not generate errors and
// defaults to an empty string
Đây là siêu tiện dụng cho $_GET
tham số tải để giữ cho mọi thứ ngắn và dễ đọc. Tiền thưởng, bạn có thể thay thế strval()
bằng trim()
... hoặc với intval()
nếu bạn chỉ chấp nhận số nguyên.
Giá trị mặc định cho intval
sẽ là 0
nếu thiếu hoặc giá trị không phải là số. Giá trị mặc định cho strval
là ""
nếu trống, không có giá trị hoặc sai.
$val_str = strval(@$_GET['q']);
$val_int = intval(@$_GET['offset']);
See DEMO
Bây giờ cho một mảng, bạn sẽ vẫn cần phải lặp qua tất cả các giá trị và thiết lập nó.Nhưng nó rất có thể đọc được, IMO:
$arr = Array (1, 4, "0", "V", null, false, true, 'true', "N");
foreach ($arr as $key=>$value) {
$arr[$key] = strval($value);
}
echo ("['".implode("','", $arr)."']");
Dưới đây là kết quả:
['1','4','0','V','','','1','true','N']
Thú vị là true
trở thành "1", nhưng 'true'
vẫn một chuỗi và rằng false
trở thành và có sản phẩm nào chuỗi ""
.
Bây giờ cùng một dữ liệu sử dụng $arr[$key] = intval($value);
sản xuất kết quả này:
['1','4','0','0','0','0','1','0','0']
'0 == NULL' là' TRUE' cũng có. Nên đã sử dụng danh tính ('==='). –