将字符串作为2个或多个参数传递给函数

时间:2015-03-19 12:57:52

标签: php arguments

你好我只是测试一些东西来理解概念

我试图这样做:

$args = "'file.txt', 'w'";
fopen($args);

但fopen将其视为一个参数

我错过了什么?

5 个答案:

答案 0 :(得分:1)

你要做的是创建一个字符串“'file.txt','w'”并将其作为一个参数提交。

请参阅fopen()的方法签名:

  

fopen(string $ filename,string $ mode [,bool $ use_include_path = false [,resource $ context]])

您想要做的是:

$file = 'file.txt';
$mode = 'w';
fopen($file, $mode);

答案 1 :(得分:1)

如果您要打开一个文件以便写一些文件,为什么不使用file_put_contents - 它可能更容易使用。

http://php.net/manual/en/function.file-put-contents.php

答案 2 :(得分:1)

在PHP 5.6中,您可以使用argument unpacking,我认为它与您尝试的最接近:

$args = ['file.txt', 'w'];
fopen(...$args);

答案 3 :(得分:0)

你不能像这样传递论据。一种方法是:

<?
$args = array("file.txt","w");
$fopen($args[0],$args[1]);
?>

答案 4 :(得分:0)

你应该在fopen()

中加入2个参数
<?
$args = array("file"   => "file.txt",
              "option" => "w");

fopen($args["file"],$args["option"]);
?>