Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP'&&';操作员问题或误解_Php_Codeigniter_Boolean_Isset - Fatal编程技术网

PHP'&&';操作员问题或误解

PHP'&&';操作员问题或误解,php,codeigniter,boolean,isset,Php,Codeigniter,Boolean,Isset,Hy 我正在开发一个基于PHP和CodeIgniter的小网站。我今天遇到了一个非常奇怪的行为。我有以下代码来检查字段是否已填充: $valid = isset ( $model->{$property} ) && !empty($model->{$property}); error_log ( $valid ); 如果“$model->{property}”存在且不为空,我希望“$valid”为true。不幸的是,我从“error_log()”函数中获得了以下输出

Hy

我正在开发一个基于PHP和CodeIgniter的小网站。我今天遇到了一个非常奇怪的行为。我有以下代码来检查字段是否已填充:

$valid = isset ( $model->{$property} ) && !empty($model->{$property});
error_log ( $valid );
如果“$model->{property}”存在且不为空,我希望“$valid”为true。不幸的是,我从“error_log()”函数中获得了以下输出,而不管属性是否存在、是否有值:

[Sat Oct 11 19:49:43 2014] [error] [client 192.168.2.68] , referer: http://192.168.2.248:8080/

怎么了?是否有其他(更好的)方法来检查属性是否存在并已填充

很抱歉问了一个愚蠢的问题:我错了。我通过AJAX发布的模型实际上不包含预期的字段

我在我的JS代码中发现了这个问题。我尝试使用以下命令发布表单数据:

var formData = $(form).serialize();

$(form + " :input").attr("disabled", true);
$.ajax({
    type: 'POST',
    url: action,
    data: formData,
    dataType: "json",
    success: postSuccess,
    error: postFail
    });

I tough$(form).serialize()从表单中提取值,并且可以禁用输入字段。不幸的是没有。我必须在ajax调用之后放置禁用的输入域以正确传递值(.serialize()忽略禁用的字段)

!empty
isset&&的别名,意味着它已设置,而不是错误。如果您正在测试
,则无需手动测试
isset
!空的