php语法,字符串类型? php语法,有没有规定:定义字符串时,字符串一定要加单引号,双引号或不加任何符号。如:$x=123;$y="123";$z='123';这3个变量,它们是不是一样呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个是整型 后两个一样,是字符串型.但是纯数字的字符串在PHP里边有时候也可以当数字用比如$x = "123";echo $x*3;结果是369可以用getType()函数来检查类型 $x=123;这个语句是将整形量赋给了$x$x="123";和$x='123'的赋值操作结果是一样的都是将字符串"123" 赋给了$x 是字符串类型的至于单引号和双引号的解释请看此帖http://bbs.csdn.net/topics/390535456 在没有任何符号的情况下,PHP是怎样判断它是什么类型?$x=123;$x=abc;它们的类型相同么? $x = 123;毫无异议,平衡品会视为整数echo gettype($x); //integervar_dump($x); //int(123)$x = abc;php 先检查这个 abc 是否为常量,如果是就取常量 abc 的值否则发出警告 Notice>: Use of undefined constant abc - assumed 'abc'然后解释为字符串echo gettype($x); //stringvar_dump($x); //string(3) "abc" $x = 123; //自动类型转换为:整型 $x = abc; //自动类型转换为:字符串对不对? 如果你非要按“非白即黑”的思维定式去理解,那的确是弄不明白php 的识别过程是这样的是数字吗?是 赋值结束是常量吗?是 赋值结束那就当做字符串吧 PHP 习惯写法字符型是单引号,变量值是双引号 首先,你写源码的都是文本字符,当php去分析源码时,会按照这个字符的规律来识别相应的数据格式。$x=123; //1$y="123"; //2$z='123'; //3对于php分析时:1 会被理解成赋值语句,因为有=这个文本字符,那么左边$x是一个变量标识符,右边是“123”连续的3个文本字符。检测第一个文本字符是一个数字,就使用int的数据格式去匹配后面的文本字符(简单说就是连续的数字组成,正则表示为\d+)时,发现能匹配上,那么这个变量的就是int类型。2 同样$y和“"123"”(2个"字符包含的连续文本),那么检测到第一个是",符合string数据格式的双引号规则的开头,那么就用双引号规则(简单说就是开头是",结尾是",并且当中没有"或者"的前面是\,正则表示为"([^"]|\\")+")匹配,发现能匹配上就是string类型这就是php识别源代码的逻辑,用学名就叫语法分析器,经过了语法分析器以后,就知道你的变量是什么类型。 php是弱类型语言,变量不需要声明类型。 php语法规定,字符串一定加双引号或单引号,内容可以是数字,字母,字符。对不对?如:$x='a*12'; //对$x="a*12"; //对$x=a*12; //语法错误。 请问这二个站可以显示压缩包里面的内容是怎么做出来的呢.. 用curl 抓取 网页 被抓取网页所接受的ip 是哪个? 求正则表达式:只能输入汉字(包括简体繁体)和字母 php怎样检测文件是否被我这个网站所用!请大家解决! php access中文字段問題 php连Oracle禁止连接错误 这个地址是怎么来的 ECSHOP 里面的函数的问题 为什么这段插入mysql代码插入不了数据 重金求教!!! 项目服务计划怎么写? this 在继承的类中指向父类?
echo $x*3;
结果是369可以用getType()函数来检查类型
这个语句是将整形量赋给了$x$x="123";和$x='123'的赋值操作结果是一样的
都是将字符串"123" 赋给了$x 是字符串类型的至于单引号和双引号的解释请看此帖
http://bbs.csdn.net/topics/390535456
$x=123;
$x=abc;
它们的类型相同么?
毫无异议,平衡品会视为整数
echo gettype($x); //integer
var_dump($x); //int(123)$x = abc;
php 先检查这个 abc 是否为常量,如果是就取常量 abc 的值
否则发出警告 Notice>: Use of undefined constant abc - assumed 'abc'
然后解释为字符串
echo gettype($x); //string
var_dump($x); //string(3) "abc"
$x = 123; //自动类型转换为:整型
$x = abc; //自动类型转换为:字符串对不对?
是数字吗?是 赋值结束
是常量吗?是 赋值结束
那就当做字符串吧
$y="123"; //2
$z='123'; //3对于php分析时:
1 会被理解成赋值语句,因为有=这个文本字符,那么左边$x是一个变量标识符,右边是“123”连续的3个文本字符。
检测第一个文本字符是一个数字,就使用int的数据格式去匹配后面的文本字符(简单说就是连续的数字组成,正则表示为\d+)时,发现能匹配上,那么这个变量的就是int类型。2 同样$y和“"123"”(2个"字符包含的连续文本),那么检测到第一个是",符合string数据格式的双引号规则的开头,那么就用双引号规则(简单说就是开头是",结尾是",并且当中没有"或者"的前面是\,正则表示为"([^"]|\\")+")匹配,发现能匹配上就是string类型这就是php识别源代码的逻辑,用学名就叫语法分析器,经过了语法分析器以后,就知道你的变量是什么类型。
$x='a*12'; //对
$x="a*12"; //对
$x=a*12; //语法错误。