PHP использует двойные или одинарные кавычки в разнице функций

1

Привет, у меня есть простой php/html:

<?php
  if( $_POST["name"] || $_POST["age"] )
  {
     echo "Welcome ". $_POST['name']. "<br />";
     echo "You are ". $_POST['age']. " years old.";
     exit();
  }
?>
<html>
<body>


  <form action="<?php $_PHP_SELF ?>" method="POST">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
  </form>
</body>
</html>

Я не понимаю, почему во второй строке мы используем двойные кавычки, то есть $_POST["name"] но в выражении echo мы используем $ _POST ['name'], может кто-нибудь сказать мне, почему это разные? Полностью новый для PHP...

  • 0
    Оба одинаковы, так как вы работаете с индексом массива
  • 0
    Так они используются для доступа к массиву, верно? Я использую ключевое имя или возраст. поэтому использование двойных кавычек, одинарных кавычек или вообще не даст одинакового результата. Это правильно?
Теги:

2 ответа

4
Лучший ответ

Неважно, какие цитаты вы выберете. Есть несколько дискуссий о производительности. Действительно, двойные кавычки немного медленнее. Но разница минимальна даже при 100, 000+ итерациях.

Единственные различия - это концентрация и побег:

Concenation

Двойные кавычки:

$b = 1;
echo "Test ".$b; // outputs Test 1
echo "Test $b"; // also outputs Test 1

Одиночные кавычки:

$b = 2;
echo 'Test '.$b; // outputs Test 2
echo 'Test $b'; // outputs Test $b

Спасаясь

Двойные кавычки:

echo "\t";
// outputs actual tab letter

Одиночные цитаты

echo '\t';
// outputs \t as plain text.
  • 0
    Это не единственная разница. Одинарные кавычки также не обрабатывают escape-последовательности. Попробуйте "\ n" и '\ n';
  • 0
    О, спасибо, не знал этого. Я добавлю это к ответу
Показать ещё 4 комментария
1

Довольно просто. Это из-за эха. Вы можете видеть, что при печати строки вы можете использовать echo 'hello'; или эхо "привет"; Факт здесь заключается в том, используете ли вы один из них, вы не можете использовать его внутри переменных внутри, иначе php проанализирует его, поскольку это был конец строки.

Простой пример:

echo 'Hello'.$name.' how are you?';
echo "Hello".$name." how are you?";

Пример ассоциативной матрицы:

echo 'Hello'.$array["name"].' how are you?';

Если вы попытаетесь поместить массив ['name'], вы увидите, что php дает ошибку из-за разбора.

Надеюсь, поможет !

  • 0
    Правильные, но двойные кавычки также оставляют escape-последовательности

Ещё вопросы

Сообщество Overcoder
Наверх
Меню