Передача переменной PHP в массив

#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..." потому, что строка завершается, а затем добавляется.