Nếu bạn muốn mặc định chuỗi rỗng thì cách ưa thích là một trong những tùy chọn này (tùy thuộc vào nhu cầu của bạn):
$str_value = strval($_GET['something']);
$trimmed_value = trim($_GET['something']);
$int_value = intval($_GET['somenumber']);
Nếu tham số url something
không tồn tại trong url sau đó $_GET['something']
sẽ trở lại null
strval($_GET['something'])
->strval(null)
->""
và biến $value
của bạn được thiết lập để một chuỗi rỗng.
trim()
có thể được ưa thích hơn strval()
tùy thuộc vào mã (ví dụ một tham số Name có thể muốn sử dụng nó)
intval()
nếu chỉ các giá trị số được kỳ vọng và mặc định là zero. intval(null)
->0
Các trường hợp để xem xét:
...&something=value1&key2=value2
(điển hình)
...&key2=value2
(tham số thiếu từ url $ _GET sẽ trả về null cho nó)
...&something=+++&key2=value
(tham số là " "
)
Tại sao đây là ưu tiên pproach:
- Nó phù hợp gọn gàng trên một dòng và rõ ràng những gì đang diễn ra.
- Đó là có thể đọc được hơn
$value = isset($_GET['something']) ? $_GET['something'] : '';
- thấp hơn nguy cơ sao chép/dán nhầm lẫn hoặc một typo:
$value=isset($_GET['something'])?$_GET['somthing']:'';
- Nó tương thích với cũ và php mới hơn.
Cập nhật chế độ nghiêm ngặt có thể đòi hỏi một cái gì đó như thế này:
$str_value = strval(@$_GET['something']);
$trimmed_value = trim(@$_GET['something']);
$int_value = intval(@$_GET['somenumber']);
liên quan http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol- mean-in-php – Musa
bản sao có thể có của [PHP là gì? : toán tử được gọi và nó làm gì?] (http://stackoverflow.com/questions/1080247/what-is-the-php-operator-called-and-what-does-it-do) – Niko