Скажите, пожалуйста, что я делаю неправильно, когда файл php выполняется, сохраняет фактическую папку как «$ name» вместо Peter. Что я делаю не так?Работа с переменной в PHP
Вот мой код:
$name = "Peter";
copy_directory('you/','dir/$name');
Скажите, пожалуйста, что я делаю неправильно, когда файл php выполняется, сохраняет фактическую папку как «$ name» вместо Peter. Что я делаю не так?Работа с переменной в PHP
Вот мой код:
$name = "Peter";
copy_directory('you/','dir/$name');
Вы должны использовать двойные кавычки, если вы хотите расширить переменные внутри строки.
$name = "Peter";
copy_directory('you/',"dir/$name");
Или, поочередно, сцепить переменный на строку:
copy_directory('you/','dir/' . $name);
Вы должны будете использовать двойные кавычки для того, чтобы переменный быть истолкован как Питер
copy_directory('you/',"dir/$name");
Пытался что это doesnt work – user1037871
Вы можете попробовать, как предложили другие: copy_directory ('you /', 'dir /'.$ name); –
Извините Im idoit, он действительно работает! : D очень жаль – user1037871
Проблема в том, что вы используете '
, но должны использовать там ""
или 'dir/'. $name
:
copy_directory('you/','dir/$name');
Рекомендуется использовать оператор конкатенации при использовании переменных php.
copy_directory('you/','dir/'.$name);
Обновлено Ответ:
Это может быть большая дискуссия, что использовать. Это собственное мнение каждого. Но люди говорят, что нам следует избегать сложности двойных кавычек. Проблемы с сохранением памяти имеют двойные кавычки. Для небольших значений это не имеет значения. Поэтому я подумал, что использовать оператор конкатенации при использовании переменных php является хорошей практикой.
Согласно ** кому **?Хотя я согласен с тем, что конкатенация переменных легче читать, это довольно субъективно, и доказанная разница в производительности между одиночными и двойными кавычками оказалась [весьма незначительной и не совсем предполагаемой] (http://phpbench.com/). –
См. Ссылки в ответ на разбор. –
Ваша первая ссылка усиливает мою мысль, а двум другим - пять и семь лет, соответственно. Хотя прошлые версии PHP действительно демонстрировали штраф при анализе строк с двойными кавычками, проблема была решена более трех лет. Когда переменный синтаксический анализ не выполняется, '' 'vs' '' является вопросом стиля кода и читаемости (которые являются субъективными метриками). Я согласен с вашими предпочтениями, однако я бы не хотел, чтобы начинающие читатели видели этот аргумент и цитируют дезинформацию как истину. –
Используйте двойные кавычки вместо одинарных кавычек;
$name = "Peter"; copy_directory('you/',"dir/$name");
Или, наоборот, объединить переменную;
$name = "Peter"; copy_directory('you/','dir/' . $name);
Вы должны использовать двойные кавычки вместо одинарных кавычек: «реж/$ Название» Больше информации: http://php.net/manual/en/language.types.string.php – Mimikry