Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过函数向数组中添加多个值_Php_Arrays - Fatal编程技术网

Php 通过函数向数组中添加多个值

Php 通过函数向数组中添加多个值,php,arrays,Php,Arrays,我试图创建一个函数,它接受一个值,并在最后回显它们 下面是一个例子: function number_of_files ($name) { $name_of_files = array($name); var_dump ($name_of_files); } 我把这个函数用作 number_of_files("file.png"); number_of_files("audio.mp3"); 我期待以下输出: Array ( [0] => file.png

我试图创建一个函数,它接受一个值,并在最后回显它们

下面是一个例子:

function number_of_files ($name) {
    $name_of_files = array($name);
    var_dump ($name_of_files);
}
我把这个函数用作

number_of_files("file.png");
number_of_files("audio.mp3");
我期待以下输出:

  Array (
    [0] => file.png
    [1] => audio.mp3
)

有什么建议为什么不起作用吗?

没有。每次都会覆盖文件的
$name\u
。函数范围中的该变量

使用以下命令:

function number_of_files ($name, &$name_of_files) {
    array_push($name_of_files, $name);
}

$name_of_files = number_of_files('file.mpg', $name_of_files);
$name_of_files = number_of_files('audio.mp3', $name_of_files);
var_dump ($name_of_files);
现在您正在使用数组作为引用

编辑:

如果不想覆盖原始阵列,可以返回:

function number_of_files ($name, $name_of_files) {
    array_push($name_of_files, $name);
    return $name_of_files;
}
但是让我们注意到,在第二种情况下,我没有在
$name\u of_files
函数参数之前使用
&
符号。这是参考标记


你可以在这里阅读:

不。每次都会覆盖文件的
$name\u
。函数范围中的该变量

使用以下命令:

function number_of_files ($name, &$name_of_files) {
    array_push($name_of_files, $name);
}

$name_of_files = number_of_files('file.mpg', $name_of_files);
$name_of_files = number_of_files('audio.mp3', $name_of_files);
var_dump ($name_of_files);
现在您正在使用数组作为引用

编辑:

如果不想覆盖原始阵列,可以返回:

function number_of_files ($name, $name_of_files) {
    array_push($name_of_files, $name);
    return $name_of_files;
}
但是让我们注意到,在第二种情况下,我没有在
$name\u of_files
函数参数之前使用
&
符号。这是参考标记



您可以在此处阅读:

您将使用此功能做什么?我不认为这是您真正想要做的。也许,这是一个使用带有静态数组的类的好例子?每次当您可以避免使用静态属性时。@bassxzero我实际上想使用$name_of_file作为多维数组。有文件名和路径吗?你介意给我推荐一个好的课堂教程吗?干杯你打算用这个函数做什么?我不认为这是您真正想要做的。也许,这是一个使用带有静态数组的类的好例子?每次当您可以避免使用静态属性时。@bassxzero我实际上想使用$name_of_file作为多维数组。有文件名和路径吗?你介意给我推荐一个好的课堂教程吗?干杯如果他不想更新传递给函数的数组怎么办?如果他想更新函数中的静态数组呢?然后按下并返回。如果他实际上不想返回任何东西呢?假设他只是想让数组在函数体中可以访问,并且具有正确的值?我的答案是指向范围问题。如果在这次行动之后,他/她不能处理他/她想要的,我很抱歉。你可以写下自己的答案,或者你可以问他/她,他/她真正需要什么。“或者你可以问他/她,他/她真正需要什么。”这就是我的观点。我问过他,你在他回答之前发布了你的答案。如果他不想更新传递到函数中的数组怎么办?如果他想更新函数中的静态数组呢?然后按下并返回。如果他实际上不想返回任何东西呢?假设他只是想让数组在函数体中可以访问,并且具有正确的值?我的答案是指向范围问题。如果在这次行动之后,他/她不能处理他/她想要的,我很抱歉。你可以写下自己的答案,或者你可以问他/她,他/她真正需要什么。“或者你可以问他/她,他/她真正需要什么。”这就是我的观点。我问过他,你在他回答之前把答案贴了出来。