首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP 对输入变量名的自动转换的问题与源码分析

起步 表单提交到PHP脚本时,底层的PHP会做一层转换。将一些符号转成下划线 _ 。 ? 实际上这层转换中会发生很多意想不到的情况。 列举这些情况 ?...源码分析 虽然我没有阅读过php源码,在朋友的帮助下,关于这部分的转换代码在 main/php_variables.c 的 php_register_variable_ex 函数中 php_variables.c...new_idx_len = strlen(index_s); // key 的长度到第一个出现 ] 为止 } } ... } 到此,转化处理的过程就很清晰了,对于数组情况的变量名...,分为两种: 没找到 ] 与其匹配,该变量名不是数组,将 [ 替换成下划线,后续字符串不做处理; 有 ] 与其匹配,取到第一个出现 ] 的位置作为 key ,舍弃后面的字符。...另外,谁能告诉我PHP的这层转换的设计初衷是什么啊。

93640

python变量名命名规则

变量名可以是任意长度,可以包含字母,数字和下划线(_),但是不能以数字开头。也就是说result1这个变量名是合法的,但是1result这个变量名就不合法了。...很多编程语言的变量名都遵循这一命名规则,例如R语言。 Python的变量名是区分大小写的,所以age和Age是两个不同的变量。这一点也跟R语言一致。 变量名中不能包含特殊字符,如@,:,!...,#等等,所以result@这个变量名是不合法的。这个倒是跟我们平时创建密码的规则刚好相反,很多时候强的密码都是要求包含大小写字母,数字和特殊字符的组合。...(下次创建密码的时候可以试试这个小tip) 变量名不要使用Python的关键字(keywords),下面是一些python常用的关键字。

2.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

Python到底能不能用中文变量名

先考考大家:以下几个变量名,在Python哪些是可以的,哪些是不行的?...变量名必须以字母或下划线开头,不能以数字开头。 变量名区分大小写,例如 age 和 Age 是不同的变量名变量名不应该与 Python 中的关键字(如if、else、while等)重复。...另外,中文变量名依然有可能在代码协作和分发的过程中出现编码问题。所以通过仍不鼓励使用非 ASCII 字符作为变量名。 命名建议 除了上述必须遵守的命名规范外,变量命名还需要注意其可读性和可维护性。...以下是一些变量命名建议: 变量名应该具有描述性,能够清晰地表达变量所表示的含义,且长度不应过长。 在变量名中不应该使用单个下划线作为前缀,例如 _name,这种命名方式通常用于私有变量。...在变量名中不应该使用双下划线作为前缀和后缀,例如 __name__,这种命名方式通常用于类的特殊方法和属性。

42120

变量名与字符串的互相转换

问题引出 2 情况1: 用字符串作为变量名-eval() 3. 情况2: 变量名转化为字符串-inputname() ---- 1....问题引出 由于Matlab的m语言是解释性语言,所以可以在代码运行过程中用字符串做为变量名。有时候我们需要知道变量在程序中的名字,就是将变量名转化为字符串。...2 情况1: 用字符串作为变量名-eval() 第一个字符串str_var = 'varNumber' 以字符串 varNumber为变量名声明一个变量 用eval()函数可以轻松搞定:...情况2: 变量名转化为字符串-inputname() 定义一个数值类型变量 numberA = 123;。...现在我需要输出这个变量名,也就是字符串'numberA' 这需要自己写一个函数getVarName(),该函数的输入为要被转化的变量,输出为一个字符串,即就是该变量的变量名

7.7K20
领券