PHP Foreach 和未设置变量

Posted

技术标签:

【中文标题】PHP Foreach 和未设置变量【英文标题】:PHP Foreach and unsetting variable 【发布时间】:2013-01-01 09:31:47 【问题描述】:

我将一个 PDO 准备参数数组传递到 foreach 语句中,以便我可以修改数据。我正在根据前缀修改一些数据。这是我的代码中的示例:

foreach($param as $key => $t)

    if(strpos($key,"int")===0)
    
        $t = (int) $param[$key];
        $key = str_replace("int","",$key);
        unset($param[$key]);
        $param[$key] = $t;
    

我不确定如何取消设置那些以int为前缀的数组元素,并且由于PDO错误我无法执行查询:

Invalid parameter number: number of bound variables does not match number of tokens

【问题讨论】:

【参考方案1】:

您需要先unset($param[$key]),然后再更改$key

【讨论】:

以上是关于PHP Foreach 和未设置变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 foreach 循环中设置变量以在 PHP 中进行外部访问?

为啥我不能在“foreach”循环中取消设置变量?

PHP - foreach循环中变量之前的&符号[重复]

php foreach循环中的变量

php foreach只能遍历数组么

PHP foreach循环中的多个索引变量