检查PHP函数中是否存在字段
我有一个PHP脚本:检查PHP函数中是否存在字段,php,Php,我有一个PHP脚本: for ($desc=1; $_POST['ddata'.$desc]; $desc++) { if($_POST['ddata'.$desc]){ if ($desc == 1){ $ddata = $_POST['ddata'.$desc]; $dlocatie = $_POST['dlocatie'.$desc]; } else { $ddata = $d
for ($desc=1; $_POST['ddata'.$desc]; $desc++) {
if($_POST['ddata'.$desc]){
if ($desc == 1){
$ddata = $_POST['ddata'.$desc];
$dlocatie = $_POST['dlocatie'.$desc];
} else {
$ddata = $ddata.' / '.$_POST['ddata'.$desc];
$dlocatie = $dlocatie.' / '.$_POST['dlocatie'.$desc];
}
}
}
如果我有5个ddata
字段,则会出现以下错误:未定义索引:ddata6
如何检查该字段是否存在,以防止出现此错误
如何检查该字段是否存在,以防止出现此错误
在访问项目之前,使用isset()
检查项目是否存在
如何检查该字段是否存在,以防止出现此错误
使用isset()
在访问项目之前检查项目是否存在。您可以选择
if(isset($_POST['thekey']))
或者更传统地说:
if(array_key_exists('thekey', $_POST))
你可以去
if(isset($_POST['thekey']))
或者更传统地说:
if(array_key_exists('thekey', $_POST))
如果($\u POST['ddata.$desc]),您可以执行以下操作:
if(isset($_POST['ddata'.$desc]))
或:
如果($\u POST['ddata.$desc]),您可以执行以下操作:
if(isset($_POST['ddata'.$desc]))
或:
试一试
谢谢试试看
谢谢在执行循环之前,通过使用preg\u grep扫描数组中的
ddata…
字段,检查存在哪些字段
$ddata_fields = preg_grep('/^ddata\d+$/', array_keys($_POST));
foreach($ddata_fields as $field) {
$ddata = $_POST[$field];
etc...
}
在执行循环之前,通过使用preg\u grep扫描数组中的
ddata…
字段,检查存在哪些字段
$ddata_fields = preg_grep('/^ddata\d+$/', array_keys($_POST));
foreach($ddata_fields as $field) {
$ddata = $_POST[$field];
etc...
}
只需添加一个
if(isset($\u POST['ddata'.$desc]){}
而不是if($\u POST['ddata'.$desc]){}
只需添加一个if(isset($\u POST['ddata'.$desc]){}
而不是if($\u POST['ddata$desc}更改以…开头的部分
if($_POST['ddata'.$desc]){
到
for ($desc=1; $_POST['ddata'.$desc]; $desc++) {
if (isset($_POST['ddata'.$desc])) {
$ddata = $_POST['ddata'.$desc'];
} else {
continue;
}
switch($desc) {
case "1" :
$ddata = $_POST['ddata'.$desc];
$dlocatie = $_POST['dlocatie'.$desc];
break;
case "2" :
case "3" :
case "4" :
case "5" :
$ddata = $ddata.' / '.$_POST['ddata'.$desc];
$dlocatie = $dlocatie.' / '.$_POST['dlocatie'.$desc];
break;
}
}
更改以…开头的部分
if($_POST['ddata'.$desc]){
到
for ($desc=1; $_POST['ddata'.$desc]; $desc++) {
if (isset($_POST['ddata'.$desc])) {
$ddata = $_POST['ddata'.$desc'];
} else {
continue;
}
switch($desc) {
case "1" :
$ddata = $_POST['ddata'.$desc];
$dlocatie = $_POST['dlocatie'.$desc];
break;
case "2" :
case "3" :
case "4" :
case "5" :
$ddata = $ddata.' / '.$_POST['ddata'.$desc];
$dlocatie = $dlocatie.' / '.$_POST['dlocatie'.$desc];
break;
}
}
是$desc
0-4还是1-5?是$desc
0-4还是1-5?