将相同的键=>值对分配给PHP中的多个数组

Posted

技术标签:

【中文标题】将相同的键=>值对分配给PHP中的多个数组【英文标题】:Assigning the same key => value pair to multiple arrays in PHP 【发布时间】: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 数组。我可以只做两个作业,但我想要一个更通用的解决方案,可以处理更多的数组。

【问题讨论】:

【参考方案1】:

您也应该通过引用将$array 传递给foreach 循环,例如&amp;$array

查看此Demo

【讨论】:

以上是关于将相同的键=>值对分配给PHP中的多个数组的主要内容,如果未能解决你的问题,请参考以下文章