如何验证未定义的索引?
How can I validate an undefined index?
这是我的代码:
$fields = $bool === true ? $data[$value->uuid] : $data[$value->getUuid()];
如果“$value->uuid”或“$value->uuid”不是 $data
的索引,我收到一条错误消息:
Notice: Undefined index: 123
所以我尝试进行验证:
$fields = "";
if(isset($data[$value->uuid])) {
$fields = $data[$value->uuid];
}
if(isset($data[$value->getUuid()])) {
$fields = $data[$value->getUuid()];
}
但我仍然收到相同的错误消息。
您还需要检查 $value
是否具有属性:
if(isset($value->uuid) && isset($data[$value->uuid])) {
$fields = $data[$value->uuid];
}
if(isset($value->getUuid()) && isset($data[$value->getUuid()])) {
$fields = $data[$value->getUuid()];
}
第一个 isset()
检查 属性,第二个 - $data
数组的索引。
Example
编辑
您的情况如下:
//$fields = $bool === true ? $data[$value->uuid] : $data[$value->getUuid()];
$uuid = '';
$uuid_fn = '';
if(isset($value->uuid) && isset($data[$value->uuid])) {
$uuid = $data[$value->uuid];
}
if(isset($value->getUuid()) && isset($data[$value->getUuid()])) {
$uuid_fn = $data[$value->getUuid()];
}
$fields = $bool === true ? $uuid : $uuid_fn;
这是我的代码:
$fields = $bool === true ? $data[$value->uuid] : $data[$value->getUuid()];
如果“$value->uuid”或“$value->uuid”不是 $data
的索引,我收到一条错误消息:
Notice: Undefined index: 123
所以我尝试进行验证:
$fields = "";
if(isset($data[$value->uuid])) {
$fields = $data[$value->uuid];
}
if(isset($data[$value->getUuid()])) {
$fields = $data[$value->getUuid()];
}
但我仍然收到相同的错误消息。
您还需要检查 $value
是否具有属性:
if(isset($value->uuid) && isset($data[$value->uuid])) {
$fields = $data[$value->uuid];
}
if(isset($value->getUuid()) && isset($data[$value->getUuid()])) {
$fields = $data[$value->getUuid()];
}
第一个 isset()
检查 属性,第二个 - $data
数组的索引。
Example
编辑
您的情况如下:
//$fields = $bool === true ? $data[$value->uuid] : $data[$value->getUuid()];
$uuid = '';
$uuid_fn = '';
if(isset($value->uuid) && isset($data[$value->uuid])) {
$uuid = $data[$value->uuid];
}
if(isset($value->getUuid()) && isset($data[$value->getUuid()])) {
$uuid_fn = $data[$value->getUuid()];
}
$fields = $bool === true ? $uuid : $uuid_fn;