Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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 如果为空$\u,则在foreach循环中为POST赋值_Php - Fatal编程技术网

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帖子,因为我不知道有多少问题。