gpt4 book ai didi

php - 更新函数内的全局数组

转载 作者:行者123 更新时间:2023-12-02 04:06:59 25 4
gpt4 key购买 nike

我有一个全局数组,我试图在其中更新一个值(保持持久性)然后显示它。
我没有收到错误,但数组永远不会更新。

<?php
$anchor = 'bird';
$stuff = array('apple', 'bird', 'frog');

function insert($anchor, $stuff){
foreach($stuff as $part){
$new_array = array($anchor => rand());
if($part == $anchor){
array_push($stuff, $new_array);
}
}
}

for($x = 0; $x < 2; $x++){
insert($anchor, $stuff);
var_dump($stuff);
}

输出:

array(3) {
[0]=>
string(5) "apple"
[1]=>
string(4) "bird"
[2]=>
string(4) "frog"
}
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(4) "bird"
[2]=>
string(4) "frog"
}

预期输出:

{'bird' => 674568765}
{'bird' => 986266261}

如何更新函数内的数组,以便更改全局反射(reflect)(持久)?

最佳答案

通过引用传递变量$stuff。请注意函数参数中的 &

function insert($anchor, &$stuff){    // note the & mark
foreach($stuff as $part){
$new_array = array($anchor => rand());
if($part == $anchor){
array_push($stuff, $new_array);
}
}
}

关于php - 更新函数内的全局数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39003350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com