gpt4 book ai didi

php - PHP 中表示简单赋值 (=) 的标记是什么?

转载 作者:可可西里 更新时间:2023-10-31 23:21:25 25 4
gpt4 key购买 nike

我期待找到一个简单的 T_EQUALT_ASSIGN 作为 = here in PHP's parser token list 的标记, 但它不存在。

那么用什么token来表达赋值操作呢?假设我有 $x = 1;,它以 T_VARIABLE 开头,然后是 T_WHITESPACE,然后是 = ,后跟数字所属的任何标记,然后以 ; 结束。用什么标记来表示这些字符?

最佳答案

如果你运行这段代码:

var_dump(token_get_all('<?php $foo = "bar"; ?>'));

您会看到 =; 不是标记。

PHP Manual表示 token_get_all 返回“...要么是单个字符(即:;.>、< strong>! 等...),或者一个三元素数组,包含元素 0 中的标记索引、元素 1 中原始标记的字符串内容和元素 2 中的行号。”按照我的解释,单个字符不是标记。

尽管您可能会在“List of Parser Tokens”页面上注意到 T_NS_SEPARATOR 标记(即反斜杠)是单个字符。然而,由于 PHP 是用 C 编写的,并且由于 C 中仅包含反斜杠的字符数组实际上是两个字符(即 "\\"),因此该标记实际上并不是一个隐藏在引擎盖下的字符.这只是我的解释理论。

关于php - PHP 中表示简单赋值 (=) 的标记是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com