【问题标题】:php POST Method syntaxphp POST 方法语法
【发布时间】:2014-03-03 21:33:44
【问题描述】:

在这里快速询问,这是在POST 中插入$i 变量的正确语法吗?

for($i=13; $i<25; $i++)
            if($_POST[''.$i.'']=='on')  array_push($requestedParameters, $_POST[''.$i.'']);

我想这样做,而不是把它们都分开写。 它是怎么调用的,所以我可以在互联网上搜索关于连接的详细解释?

【问题讨论】:

  • 最好使用 foreach,除非您 100% 确定偏移量在 $_POST 全局范围内。
  • 您所拥有的将起作用(即会做某事),但您为什么要将空字符串'' 连接到$i 上?数组键可以是动态表达式,如$_POST['something-' . $i]
  • 不需要串联。使用 $_POST[$i]。

标签: php variables post syntax concatenation


【解决方案1】:

语法上是正确的,但单引号是不必要的,因为您没有在 $i 的两端添加任何内容 - 这会更好:

if($_POST[$i] == 'on')
    array_push($requestedParameters, $_POST[$i]);

您可能应该检查密钥是否存在,因为您使用的是看起来像任意循环而不是 foreach 类型的数组循环构造:

if(isset($_POST[$i]) && $_POST[$i] == 'on')

【讨论】:

    【解决方案2】:

    您需要做的就是$_POST[$i],因为它是一个整数而不是字符串。

    如果它是一个字符串,你只需要这样做: $_POST["{$i}"]

    【讨论】:

      【解决方案3】:

      就是这样。

      $_POST[$i]
      

      那里不需要引号。当您想在它们之间添加某种文本时,您可以添加这些引号。

      【讨论】:

        【解决方案4】:
        for($i=13; $i<25; $i++)
                    if($_POST[$i]==='on')  array_push($requestedParameters, $_POST[$i]);
        

        【讨论】:

          猜你喜欢
          • 2012-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-11
          相关资源
          最近更新 更多