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

【问题讨论】:

    标签: php arrays foreach reference variable-assignment


    【解决方案1】:

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

    查看此Demo

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 2015-07-31
      相关资源
      最近更新 更多