假设我有一个简单的例子:
$foo = $_REQUEST['foo'] ?? '';
这工作得很好,并且在未设置时不会抛出未定义索引 foo
的通知。凉爽的。假设它已设置 - 我想用其他方法包装它,例如 trim
和 strtolower
。
$foo = strtolower(trim($_REQUEST['foo'])) ?? '';
我可以这样做吗?我会得到相同的结果吗? foo
存在时会被修剪并小写吗?
最佳答案
您的编写方式将导致 undefined index 。
由于 strtolower 和 trim 不会对空字符串进行任何调整,因此您可以执行:
$foo = strtolower(trim($_REQUEST['foo'] ?? ''));
对trim参数执行合并将防止trim函数评估未定义的$_REQUEST索引。
关于php - 在 PHP 7 中使用空合并运算符时,我可以用一些附加函数包装输入字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46922362/