我正在使用CodeIgniter,我使用以下代码段是编辑表单的一部分。它的作用是获取一个值进行编辑,并填充该字段。当存在验证错误时,使用相同的表单构建器重建表单,并且字段将是用户可能编辑或未编辑的重新填充值。
$field = form_input(array(
'name' => 'title',
'id' => 'title'
), set_value('title') || 'givenValue') <-- this part
在CodeIgniter中,.set_value()
只返回一个字符串,该字符串是某个表单字段的值,如果表单有错误(主要用于在错误后重新填充字段)。
我知道在JavaScript中,我可以像var someObj = param.obj || {}
一样,如果someObj
存在,则param.obj
等于{}
,否则等于1
。在上面的PHP代码段中,它返回{{1}}(我猜想布尔值)。
总之,如果存在,我希望使用前一个值,或者如果不存在,则使用预定值(另外,如果是新表单,则为空值)
如何在PHP中进行“内联评估”?或者在CodeIgniter中有更好的方法吗?
答案 0 :(得分:0)
根据manual,CI已为您提供默认选项
set_value('title', 'givenValue')
在纯PHP中,如果您使用的是PHP 5.3,则可以使用三元快捷方式
set_value('title') ?: 'givenValue'
否则,请尝试长版
set_value('title') ? set_value('title') : 'givenValue'