Я знаю, что это очень простой вопрос, но я должен спросить.
У меня есть ассоциативный массив, скажем так:
$ 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))