PHP人民,我已经厌倦了这样做
$value = isset($arr[$key]) ? $arr[$key] : null;
Run Code Online (Sandbox Code Playgroud)
或这个
$value = array_key_exists($key, $arr) ? $arr[$key] : null;
Run Code Online (Sandbox Code Playgroud)
不要没有人告诉我这样做
$arr = array(1);
$key = 5;
$value = $arr[$key];
// Notice: Undefined offset: 5
Run Code Online (Sandbox Code Playgroud)
我得了支气管炎.不是没有人有时间f'dat.
我想能做出一个功能......
function array_get(Array $arr, $key, $default=null) {
return array_key_exists($key, $arr)
? $arr[$key]
: $default
;
}
Run Code Online (Sandbox Code Playgroud)
但这是最好的(最惯用的)方式吗?
更优雅的方式:
function ifsetor(&$value, $default = null) {
return isset($value) ? $value : $default;
}
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
$value = ifsetor($arr[$key]);
$message = ifsetor($_POST['message'], 'No message posted');
Run Code Online (Sandbox Code Playgroud)
这里$value通过引用传递,所以它不会抛出通知.
进一步阅读:
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |