#php #arrays #variables
#php #массивы #переменные
Вопрос:
У меня есть следующий простой массив:
$q = array(1 =>
'My company, ABC is...',
'If only ABC was...'
);
Что я хотел бы сделать, так это заменить слово ‘ABC’ переменной:
$q = array(1 =>
'My company, ".$name." is...',
'If only ".$name." was...'
);
Однако приведенное выше просто добавляет текст — я пробовал двойные двойные кавычки, но без радости. Может кто-нибудь указать мне правильное направление, пожалуйста?
Комментарии:
1. Пожалуйста, покажите свою попытку двойных кавычек
2. ‘Моя компания, «».$name.»» это …’,
3. Это был долгий долгий день … извиняюсь за качество этого вопроса!
4. есть ли причина, по которой вы начинаете
array
с позиции 1, а неarray('My company, ABC is...', 'If only ABC was...');
5. @BrettSantore — да, мне нужно, чтобы она начиналась с 1, а не с 0, чтобы соответствовать номерам вопросов — облегчает понимание кода.
Ответ №1:
Если вы используете двойные кавычки, используйте их следующим образом:
$q = array(1 =>
"My company, $name is...",
"If only $name was..."
);
Но даже тогда переменная будет заменена немедленно, когда массив будет назначен. Нет привязки, которая позволяет вставлять переменную, которая вычисляется позже.
Комментарии:
1. Извиняюсь, спасибо за разъяснение. Не могу поверить, что я не заметил довольно очевидный недостаток в моем кодировании и мышлении — это был долгий долгий день.
2. np. У всех нас были такие дни. 😉
3. @Homer_J Не забудьте выбрать правильный ответ, хотя 🙂
Ответ №2:
$q = array(1 =>
"My company, $name is...",
"If only $name was..."
);
'My company, ".$name." is...'
не будет работать, потому что » не останавливает строку, которая инициализирована с помощью «.
Другой способ, которым вы могли бы это сделать, — это "My company, ".$name." is..."
потому, что строка завершается, а затем добавляется.