Intereting Posts

Как эхо-элемент ассоциативного массива в строке?

Я знаю, что это очень простой вопрос, но я должен спросить.

У меня есть ассоциативный массив, скажем так:

  $ pair = array ('husband' => 'Brad', 'wife' => 'Angelina'); 

Теперь я хочу напечатать имя мужа в строке. Есть так много способов, но я хочу сделать это, но он дает html-ошибку

$string = "$couple[\'husband\'] : $couple[\'wife\'] is my wife."; 

Пожалуйста, исправьте меня, если я использую неправильный синтаксис для обратной косой черты.

Ваш синтаксис правильный.

Но, тем не менее, вы можете предпочесть одинарные кавычки и двойные кавычки.

Потому что двойные кавычки немного медленнее из-за переменной интерполяции.

(переменные в двойных кавычках анализируются, а не одиночные кавычки).

Более оптимизированная и очищенная версия вашего кода:

 $string = $couple['husband'] .' : ' . $couple['wife'] .' is my wife.'; 

Использование функции форматирования вывода, например printf

 <?php printf("%s : %s is my wife.", $couple['husband'], $couple['wife']); ?> 

Если вы хотите сохранить результат в переменной, вы должны использовать sprintf .

Оформить эту ДЕМО: http://codepad.org/kkgvvg4D

попробуй это

  <?php $string = $couple['husband']." : ". $couple['wife']." is my wife."; echo $string//Brad : Angelina is my wife. ?> 

Чтобы использовать массив в строке, вам нужно использовать {}:

 $string = "{$couple['husband']} : {$couple['wife']} is my wife."; 

В противном случае анализатор не может правильно определить, что вы пытаетесь сделать.

Вы можете просто сделать:

 $string = "{$couple['husband']} : {$couple['wife']} is my wife."; 

Или:

 $string = $couple['husband'] . " : " . $couple['wife'] . " is my wife."; 

Попробуйте

 $string = $couple['husband']." : ".$couple['wife']." is my wife."; 

Оформить заказ решение –

$string = "$couple[husband] : $couple[wife] is my wife.";

как вы можете видеть, вам нужно удалить одинарные кавычки и обратную косую черту, если вы используете всю строку внутри двойных qoutes.

Гораздо лучший подход будет –

$string = $couple[husband].' : '.$couple[wife].' is my wife.';

 call_user_func_array('sprintf', array_merge(['%s : %s is my wife.'], $couple))