Php 如果为空$\u,则在foreach循环中为POST赋值
我想建立一个创建调查的程序。我不知道如何为一个未回答的问题赋值。谢谢你的帮助Php 如果为空$\u,则在foreach循环中为POST赋值,php,Php,我想建立一个创建调查的程序。我不知道如何为一个未回答的问题赋值。谢谢你的帮助 $dizi = array(); foreach ( $_POST as $key => $value){ if(empty($_POST)){ $_POST="bos"; } $dizi[$key] = "'".$value."'"; } 如果我理解正确,你想做的是: foreach ( $_POST as $key => $value ) { if
$dizi = array();
foreach ( $_POST as $key => $value){
if(empty($_POST)){
$_POST="bos";
}
$dizi[$key] = "'".$value."'";
}
如果我理解正确,你想做的是:
foreach ( $_POST as $key => $value ) {
if(empty($value))
$_POST[$key] = 'This is an unanswered question!';
}
但由于表单中没有发布空值,因此这无法工作。如果表单中没有发布空值,您如何知道存在“未回答”问题?
您必须从用户无法伪造且在服务器端定义的问题列表开始,并检查$u POST中是否存在每个问题的答案。如果没有-为跳过的答案分配您想要的内容。您的代码没有意义,请尝试以下操作:
$dizi = array();
foreach($_POST as $key => $value) {
if (empty($value)) {
$value = 'your value';
}
$dizi[$key] = $value;
}
$\u POST是一个
因此,您可以通过以下方式访问它:
$bla = $_POST['bla'];
您试图做的是将整个数组设置为无法工作的字符串。
保存到$dizi数组时,应设置新值
$dizi = array();
foreach($_POST as $key => $value) {
$newValue = $value;
if (empty($value)) {
$newValue = 'bos';
}
$dizi[$key] = $newValue;
unset($newValue);
}
但这只检查答案字符串是否为空。因此,只有在所有问题都是强制性的情况下,这才有效。尝试以下方法:
if(isset($_POST) && (!empty($_POST))){
foreach ( $_POST as $key => $value ) {
if(empty($value)){
$_POST="bos";
} else{
//put your code
}
}
}
你们想做什么?我在这里回答了类似的问题:当用户在数据库中创建一个表时,我不知道有多少字段。因此,我使用了一个sql查询,比如INSERT INTO testcevaplar VALUES,$ekle[$ekle=infrade',',$dizi]。若调查的任何参与者跳过任何问题,则sql查询的值与表的字段不匹配。所以我想为跳过的问题分配一个值。我无法查看每个$u帖子,因为我不知道有多少问题。