我正在try 更新我们用来连接到数据库的类,有大量对$res->fetchInto($_row);的调用,我不想把所有的调用都替换为$_row = $res->fetchInto();.有没有办法调用一个函数并让它将结果返回给传递给该函数的变量名?

示例:

$_row = array();

$res->fetchInto($_row);

echo "Lets print out the array<br>";
echo "<pre>";
print_r($_row);
echo "</pre>";
echo "Lets loop through all outputted rows
while ($res->fetchInto($_row)) {
    echo "<pre>";
    print_r($_row);
    echo "</pre>";
    echo "<hr>";
}
function fetchInto($arrName)    {
    // PROCESSING HERE
    return $arrName;
}

推荐答案

You should pass it by reference.

在函数中

function fetchInto(&$arr, $res) {
    $arr = $res->fetch(PDO::FETCH_ASSOC); // Assuming 1$res->fetch()1 returns an associative array of the next row
}

呼入主叫方

$_row = array();
$res = $pdoStatement; // Assuming a PDOStatement object
fetchInto($_row, $res);

echo "Let's print out the array<br>";
echo "<pre>";
print_r($_row);
echo "</pre>";

在这段代码中,$arr是通过引用传递的,因此在fetchInto函数内部对$arr所做的任何更改都会影响该函数外部的$_row.

Php相关问答推荐

如何根据键上的特定标准对对象数组进行排序?

CodeIgniter AJAX表格提交中的CSRF token 再生问题

PHP Perl正则表达式—URL前面没有等号和可能的单引号或双引号

显示WooCommerce当前产品类别或标签的短代码

自定义WooCommerce帐户下载列表

将产品类别添加到WooCommerce产品附加信息

具有重叠捕获组的PHP正则表达式

无法允许元素(img:'src')与symfony html-sanitizer(symfony6.3 php 8.2)

Woocommerce 临时购物车税未根据第一个请求正确计算

服务器升级到新的mysql版本8.0.34后查询错误

对 WooCommerce 购物车和 checkout 中显示的运输方式进行排序

htaccess 重定向子域错误的 url

后退按钮不起作用 laravel ajax crud

PHP:如何将多列sql查询结果转换成数组

如何在 Process facade 中转义特殊字符?

Laravel Factory - 在单列中生成具有随机迭代量的假 json 数组数据

自定义错误页面不适用于 Apache 和 nginx 设置的 .htaccess

hasOne/belongsToMany 或多对多

mysql / sql修复多对多数据库中的行

如何将在同一台服务器上运行的 2 个 PHP 应用程序与使用公共会话分开