php - array_push 在函数中不起作用,PHP

标签 php arrays foreach array-push

我有这种情况,当我在函数内部有 array_push 然后我需要在 foreach 填充新数组的内部运行它。不幸的是,我不明白为什么这不起作用。这是代码:

<?php

$mylist = array('house', 'apple', 'key', 'car');
$mailarray = array();

foreach ($mylist as $key) {
    online($key, $mailarray);
}

function online($thekey, $mailarray) {

    array_push($mailarray,$thekey);

}

print_r($mailarray);

?>

这是一个示例函数,它具有更多功能,这就是为什么我需要保留这个想法。

谢谢。

最佳答案

默认情况下,PHP 将数组视为一种“值类型”(写入时复制)。您可以通过引用传递它:

function online($thekey, &$mailarray) {
    $mailarray[] = $thekey;
}

另见 the signature of array_push .

关于php - array_push 在函数中不起作用,PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20169327/

相关文章:

javascript - 在 jquery 中使用 php 是否有效?

php - Laravel 查询异常

php - 如何在 PHP 中向空数组添加元素?

php - 如何使用 PHP 和 Github API 在 Github 存储库中创建和更新文件?

Java 方法 split() 不适用于逗号,数组越界

arrays - MATLAB 如何摆脱两个数组相减的循环

ios - 使用 ForEach 在 SwiftUI 中按下按钮时制作独特的工作表?

javascript - 使用数组相对于函数有哪些优点和缺点

if-statement - NetLogo 列表和条件修改

java - 将增强的 For 循环转换为标准循环