одинарные кавычки и двойные кавычки в php?

Двойные кавычки —> «$ a» интерпретируют переменные.

одинарные кавычки —> '$ a' не делает. До сих пор

Мой вопрос:

  • что, если я использую "'$a'" ?

Примечание : хотите знать детали сцены.

Подробное объяснение :

Из-за этого я столкнулся с серьезной проблемой, когда использовал ее в цикле foreach:

Следующий пример дал мне неправильное значение параметра. Например, значение, которое он отображает, это UX, если оригинал является разработчиком UX

 echo "<option value=".$item['m_designation'].">".$item['m_designation']."</option>"; 

этот пример дал мне правильное значение параметра. Например, значение, которое он предоставляет, является разработчиком UX, если оригинал является разработчиком UX

  echo '<option value="'.$item['m_designation'].'"> '.$item['m_designation'].' </option>'; 

Надеюсь, я поняла.

Обновить:

Я получил желаемый результат, но я не знаю логики, стоящей за ним. Я пробовал и делал это успешно, но я хотел знать, что происходит за сценой. Я думаю, что люди неправильно поняли мой вопрос.

Использование ' и " для строк изменяется только в том случае, если они являются внешним контейнером всей строки – другая цитата внутри, которая просто рассматривается как простой символ без особого значения, поэтому "'$var'" использует правила " (разбор переменных), тогда как '"$var"' буквально выводит "$var" поскольку он использует правила ' (без синтаксического анализа переменных).

Резюме. Когда вы делаете "''" или "\"\"" кавычки внутри строки не обрабатываются PHP и не рассматриваются как буквенные символы, содержимое таких кавычек будет иметь такое же поведение в этих кавычках или из них.

У вас будет строка, которая использует двойные кавычки как разделители и имеет одинарные кавычки в качестве данных. Разделители – это те, которые важны для определения того, как будет обрабатываться строка.

 $a = 'test'; echo '$a';// prints $a echo "$a";// prints test echo "'$a'"//prints 'test' 

двойные кавычки проверяют переменную php и эхо-строку с значением переменной php

пример echo "wow $a 123"; //prints wow test 123 echo "wow $a 123"; //prints wow test 123

одиночные кавычки печатают все в одинарных кавычках

пример echo 'foo $a 123';//prints foo $a 123

В вашей «неисправной» (первой) строке отсутствовали одинарные кавычки :

 echo "<option value='".$item['m_designation']."'>".$item['m_designation']."</option>"; ^ ^ 

Ваша проблема в том, что вы путаете кавычки в своем HTML с кавычками в PHP.

 $a = 1; $b = '"$a"'; echo $b; # => "$a" $a = 1; $b = "\"$a\""; echo $b; # => "1" 

Я бы посоветовал вам просто никогда не использовать строковые литералы, поскольку (особенно в PHP) для них много неожиданных и странных краевых дел. Лучше всего заставить интерпретатора (который также работает только с двойными кавычками:

 $a = 1; $b = "\"{$a}\""; $c = "{$a+2}"; echo $b; # => "1" echo $c; # => 3 

Кажется, ваш вопрос больше направлен на выход PHP, созданный для форматирования HTML. Просто одиночные кавычки в PHP представляют буквальное значение:

 $a = 1; $b = '$a'; echo $b; //$a $a = 1; $b = "$a"; echo $b; //1 $a = 1; $b = "'$a'"; echo $b; //'1' 

Если вы хотите вывести HTML, вы можете использовать синтаксис heredoc . Это полезно при выдаче нескольких строк, содержащих переменные:

 $name = "Bob"; $age = 59; echo <<<EOT My name is "$name". I am $age years old. EOT; //My name is "Bob" //I am 59 years old.