【发布时间】:2015-02-09 05:07:17
【问题描述】:
我正在尝试编写一个函数,将相同的 key => value 对分配给多个 arrays。但是分配没有发生。
<?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);
?>
上下文是我有一个脚本,它正在执行数据库查询并将键分配给临时$queryParams 数组和$jsonResponse 数组。我可以只做两个作业,但我想要一个更通用的解决方案,可以处理更多的数组。
【问题讨论】:
标签: php arrays foreach reference variable-assignment