在PHP中为多个数组分配相同的key => value对

Chr*_*ton 2 php arrays foreach reference variable-assignment

我正在尝试编写一个函数,为多个s 分配相同的key => valuearray.但是这项任务不会发生.

<?php

// for debugging
error_reporting(E_ALL);

// arrays is an array of reference arrays
function assignKeyValueToArrays($arrays, $key, $value) {

    if(!is_scalar($key) || !is_array($arrays)) {
        return false;
    }

    foreach($arrays as $array) {
        if(!is_array($array)) return false;
        echo "setting $key to $value";
        $array[$key] = $value;
    }

}

$s = array();
$t = array();

assignKeyValueToArrays(array(&$s, &$t), "a", "blahblah");

// should print array(1) {"a" => "blahblah"} but both print array(0) {}
var_dump($s);
var_dump($t);

?>
Run Code Online (Sandbox Code Playgroud)

对此的上下文是我有一个脚本,它正在进行数据库查询并将键分配给临时$queryParams数组和$jsonResponse数组.我可以做两个任务,但我想要一个更通用的解决方案,可以处理更多的数组.

pot*_*hin 7

您也应该通过引用传递$arrayforeach循环,比如&$array.

看看这个演示