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作为多维数组。有文件名和路径吗?你介意给我推荐一个好的课堂教程吗?干杯如果他不想更新传递给函数的数组怎么办?如果他想更新函数中的静态数组呢?然后按下并返回。如果他实际上不想返回任何东西呢?假设他只是想让数组在函数体中可以访问,并且具有正确的值?我的答案是指向范围问题。如果在这次行动之后,他/她不能处理他/她想要的,我很抱歉。你可以写下自己的答案,或者你可以问他/她,他/她真正需要什么。“或者你可以问他/她,他/她真正需要什么。”这就是我的观点。我问过他,你在他回答之前发布了你的答案。如果他不想更新传递到函数中的数组怎么办?如果他想更新函数中的静态数组呢?然后按下并返回。如果他实际上不想返回任何东西呢?假设他只是想让数组在函数体中可以访问,并且具有正确的值?我的答案是指向范围问题。如果在这次行动之后,他/她不能处理他/她想要的,我很抱歉。你可以写下自己的答案,或者你可以问他/她,他/她真正需要什么。“或者你可以问他/她,他/她真正需要什么。”这就是我的观点。我问过他,你在他回答之前把答案贴了出来。