Я пытаюсь написать функцию, которая назначает одинаковые ключ => значение пара в несколько array
s. Но назначение не происходит.
<?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
массив. Я мог просто сделать два назначения, но я хотел более общее решение, которое могло бы обрабатывать больше массивов.
Вы должны пройти $array
к foreach
цикл по ссылке тоже, как &$array
,
Оформить заказ демонстрация
Других решений пока нет …