我真的很困惑,因为我有一个if / else语句在系统的第一次集成时有效,但在第二种情况下我必须重写该函数。我的观点是,两种陈述都有相同的逻辑吗?或者不是吗?
声明1:在第一次集成代码时按预期工作,但在第二次集成时不起作用(变量ba_geschaeftszeichen
的字符串长度始终为零):
if (
(isset($_POST['ba_geschaeftszeichen']) && ($kostentraeger == "sozialamt")) ||
(isset($_POST['pk_vnr']) && ($kostentraeger == "pflegekasse"))
) {
if (isset($_POST['ba_geschaeftszeichen']) && (strlen($_POST['ba_geschaeftszeichen']) > 0)) {
$ba_geschaeftszeichen = $_POST['ba_geschaeftszeichen'];
} else if (isset($_POST['pk_vnr']) && (strlen($_POST['pk_vnr']) > 0)) {
$ba_geschaeftszeichen = $_POST['pk_vnr'];
} else {
$ba_geschaeftszeichen = "";
}
} else { $ba_geschaeftszeichen = ""; }
声明2:只有此代码适用于第二次集成:
if (
(isset($_POST['ba_geschaeftszeichen']) && ($kostentraeger == "sozialamt")) ||
(isset($_POST['pk_vnr']) && ($kostentraeger == "pflegekasse"))
) {
if (isset($_POST['ba_geschaeftszeichen']) && (strlen($_POST['ba_geschaeftszeichen']) > 0)) {
$ba_geschaeftszeichen = $_POST['ba_geschaeftszeichen'];
} else {
$ba_geschaeftszeichen = "";
}
if (isset($_POST['pk_vnr']) && (strlen($_POST['pk_vnr']) > 0)) {
$ba_geschaeftszeichen = $_POST['pk_vnr'];
} else {
$ba_geschaeftszeichen = "";
}
} else { $ba_geschaeftszeichen = ""; }
答案 0 :(得分:1)
在声明1中,您达到了 if(isset($ _ POST [' pk_vnr'])&&(strlen($ _ POST [' pk_vnr'])> 0))
仅限
if (isset($_POST['ba_geschaeftszeichen']) && (strlen($_POST['ba_geschaeftszeichen']) > 0))
是假的。
在声明2中,您到达
if (isset($_POST['pk_vnr']) && (strlen($_POST['pk_vnr']) > 0))
无论。