【问题标题】:if empty $_POST assign value in foreach loop如果为空 $_POST 在 foreach 循环中赋值
【发布时间】:2014-09-23 23:18:25
【问题描述】:

您好想创建一个创建调查的程序。我不知道如何为未回答的问题分配价值。感谢您的帮助。

$dizi = array();
foreach ( $_POST as $key => $value){
    if(empty($_POST)){
        $_POST="bos"; 
    }
    $dizi[$key] = "'".$value."'"; 
} 

【问题讨论】:

  • 你想做什么??
  • 我在这里回答了类似的问题:stackoverflow.com/questions/16637523/…
  • 当用户在数据库中创建表时,我不知道有多少字段。所以我使用了一个 sql 查询,例如 INSERT INTO testcevaplar VALUES ('',$ekle) [$ekle = implode(', ', $dizi)]。如果任何调查参与者跳过任何问题,则 sql 查询的值与表的字段不匹配。所以我想为跳过的问题分配一个值。我无法检查每个 $_POST,因为我不知道有多少问题。

标签: php


【解决方案1】:

你的代码没有意义,试试这个:

$dizi = array();
foreach($_POST as $key => $value) {
    if (empty($value)) {
        $value = 'your value';
    }
    $dizi[$key] = $value;
}

【讨论】:

    【解决方案2】:

    $_POST 是一个associative array 因此您可以通过以下方式访问它:

    $bla = $_POST['bla'];
    

    您要做的是将整个数组设置为不起作用的字符串。 保存到 $dizi 数组时应该设置新值。

    $dizi = array();
    foreach($_POST as $key => $value) {
        $newValue = $value;
        if (empty($value)) {
            $newValue = 'bos';
        }
        $dizi[$key] = $newValue;
        unset($newValue);
    }
    

    但这仅检查答案字符串是否为空。所以这只有在所有问题都是强制性的情况下才有效。

    【讨论】:

      【解决方案3】:

      如果我对你的理解正确,你想要做的是:

      foreach ( $_POST as $key => $value ) {
          if(empty($value))
              $_POST[$key] = 'This is an unanswered question!';
      }
      

      但由于没有从表单中发布空值,因此这不起作用。

      【讨论】:

        【解决方案4】:

        如果没有从表单中发布,您怎么知道存在“未回答”的问题? 您必须从问题列表开始(用户不能伪造并且在服务器端定义)并检查每个问题的答案是否存在于 $_POST 中。如果没有 - 将您想要的任何内容分配给跳过的答案。

        【讨论】:

          【解决方案5】:

          试试这个:

          if(isset($_POST) && (!empty($_POST))){
             foreach ( $_POST as $key => $value ) {
               if(empty($value)){
                 $_POST="bos"; 
               } else{
                 //put your code
               }
          
             }
           }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-09-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-05-02
            • 1970-01-01
            • 2016-08-26
            • 2011-04-02
            相关资源
            最近更新 更多