我有点困惑,为什么我在PHP中看到一些代码将字符串放在单引号中,有时还放在双引号中.

我只知道在.NET或C语言中,如果它在单引号中,那就意味着它是一个字符,而不是字符串.

推荐答案

PHP strings不仅可以用two种方式指定,还可以用four种方式指定.

  1. Single quoted strings将几乎完全"按原样"显示内容.变量和大多数转义序列将不会被解释.例外情况是,要显示原义单引号,可以用劈开反斜杠对其进行转义;要显示劈开,可以用另一个反斜杠对其进行转义.
  2. Double quote strings将显示大量转义字符(包括一些正则表达式),并计算字符串中的变量.这里重要的一点是you can use curly braces to isolate the name of the variable you want evaluated.例如,假设你有变量$type,你想要echo "The $types are".这将查找变量$types.为了避免这个问题,你可以把左括号放在美元符号之前或之后.看看string parsing,了解如何使用数组变量等.
  3. Heredoc字符串语法的工作原理类似于双引号字符串.从<<<开始.在这个操作符之后,会提供一个标识符,然后是一个换行符.随后是字符串本身,然后再次使用相同的标识符来结束引号.在这种语法中不需要转义引号.
  4. Nowdoc(自PHP5.3.0以来)字符串语法的工作原理基本上类似于单引号字符串.不同之处在于,即使是单引号或反斜杠也不必转义.nowdoc的标识与用于heredocs的<<<序列相同,但后面的标识符用单引号括起来,例如<<<'EOT'.No parsing is done in nowdoc.

Notes:

$string = 'He said "What\'s up?"';
$string = "He said \"What's up?\"";

Speed:

Php相关问答推荐

shell_exec()在后台执行nohup时不会立即返回

如何根据键上的特定标准对对象数组进行排序?

根据类别在WooCommerce中添加库存数量后缀

如何使用PHP停止foreach循环中的重复项?

在WooCommerce中处理客户总支出中的退款

如何在搜索域名时重定向到登陆页?

dockerized laravel服务器拒绝POST请求

PHP FFI—将PHP数组转换为C指针数组

如何在函数中定位WooCommerce产品循环

将数组推送到数组时,数组推送()出现问题

来自POST请求的(无效)json字符串中的奇怪字符(编码问题)

在WooCommerce上克隆订单时使用`add_product()`添加产品元数据

函数存储到变量中

在PHP项目中安装OpenAI PHP SDK时出现问题

在 Woocommerce 邮箱订单中显示产品 GTIN

如何在 Laravel 中app文件夹之外的文件夹内创建文件路径?

需要以一种形式执行两个操作

奇怪的 preg_match_all() 行为

PHP 中的 libgd 无法读取 Apache 配置中的 SetEnv GDFONTPATH

如何在 PHP 中对具有相同数组值的值求和