PHP - push_to_array 函数

标签 php arrays

所以我有以下功能:

function push_to_array()
{
    $array_of_data = func_get_arg(0);
    for($i = 1; $i < func_num_args(); ++$i){

        $array_of_data[] = func_get_arg($i);
    }
    return $array_of_data;
}

我可以将它与现有数组一起使用:$array = ['once','two','three'];

函数用于将数据插入现有数组。

所以最后的调用看起来像:

$newArray = push_to_array($array,'haha','hoho','hihi');

现在我想把调用转换成

push_to_array($array,'哈哈','hoho','hihi');

所以我不需要创建新变量或者我不想创建新变量,但我想修改已经存在的数组;

PS:我知道有array_push这样的函数,但是我想自己学。

最佳答案

您可以只使用相同的变量:

$array = push_to_array($array,'haha','hoho','hihi');

但要回答这个问题,您需要使用 Passing by Reference ,因此您必须将其作为参数包含在内:

function push_to_array(&$array_of_data)
{
    for($i = 1; $i < func_num_args(); ++$i){    
        $array_of_data[] = func_get_arg($i);
    }
}

然而,这将实现与第一个示例相同的效果:

$array = array_merge($array,['haha','hoho','hihi']);

关于PHP - push_to_array 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46286181/

相关文章:

c++ - 将结构数组传递给函数并通过函数更改它

arrays - Hive 数组类型的求和值

javascript - 如何使用Javascript在两个页面之间传递数据

php - Magento 集合 - 按多个字段过滤

javascript - 客户端(JS-Browser)和服务器(PHP)通过 Web-Socket 通过 IP 进行通信

c语言中关于数组初始化的困惑

php - Preg_replace,只替换( )中的模式部分?

php - Laravel 中如何使用 pluck 从其他表中获取特定数据?

php - 如何将结果存入变量 MYSQL

c - VS中C中可变大小的数组