передать строку в функцию как 2 или более аргументов

Здравствуйте, я просто проверяю вещи, чтобы понять концепции

я пытаюсь сделать это:

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

но Фопен видит это как один из аргументов

что мне не хватает?

1

Решение

В PHP 5.6 вы можете использовать распаковка аргумента что на мой взгляд ближе всего к тому что ты пробовал

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

Другие решения

Если вы открываете файл для некоторой записи, почему бы не использовать file_put_contents — это может быть проще в использовании.

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

1

Что вы делаете, это создаете одну строку, которая называется «file.txt», «w», и передаете ее как ОДИН аргумент.

Смотрите метод подписи fopen():

fopen (строка $ filename, строка $ mode [, bool $ use_include_path = false [, ресурс $ context]])

Что вы хотите сделать, это:

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

Вы не можете передать аргументы, как это. Способ сделать это будет следующим:

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

вы должны поместить 2 параметра в fopen ()

<?
$args = array("file"   => "file.txt",
"option" => "w");

fopen($args["file"],$args["option"]);
?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector