标签:
1、浮点数
<?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?>
$c 应该是个幂?
这个是幂的格式。
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
其他类型(不包括string)如果要转换为float,要先转换成integer
然后不要比较浮点数,这个很奇怪也很正常,因为这个浮点数可能是通过四舍五入或是其他形式得到,你不知道他真实的值~1、浮点数
2:字符串!
查了下,为什么说string只支持256字符集。
http://segmentfault.com/q/1010000000310292/a-1020000000310320
这只是说,PHP的string类型是array of bytes。
PHP是可以正常使用Unicode的。我的经验是:
也就是说string都是一个char 字节组成的
转移\和‘ 就是在他们前面加\
但是像\r \n就是表达的他们自身
重点来了! 单引号和双引号的区别,我郁闷了很久!
在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
<?php echo ‘this is a simple string‘; // 可以录入多行 echo ‘You can also have embedded newlines in strings this way as it is okay to do‘; // 输出: Arnold once said: "I‘ll be back" echo ‘Arnold once said: "I\‘ll be back"‘; // 输出: You deleted C:\*.*? echo ‘You deleted C:\\*.*?‘; // 输出: You deleted C:\*.*? echo ‘You deleted C:\*.*?‘; // 输出: This will not expand: \n a newline echo ‘This will not expand: \n a newline‘; // 输出: Variables do not $expand $either echo ‘Variables do not $expand $either‘; ?>
解释的很清楚了,我多看了很多眼。
用双引号定义的字符串最重要的特征是变量会被解析
具体有两种办法,一个叫 简单规则,另一个是 复杂规则。
简单规则就是直接嵌套一个变量。
<?php $juice = "apple"; echo "He drank some $juice juice.".PHP_EOL; // Invalid. "s" is a valid character for a variable name, but the variable is $juice. echo "He drank some juice made of $juices."; ?> //输出结果 He drank some apple juice. He drank some juice made of .
复杂的就先把不看了,不是因为他复杂,而是因为他可以表达更复杂的语义。 给个例子
echo "This works too: {$obj->values[3]->name}";
// 有效,当在字符串中使用多重数组时,一定要用括号将它括起来
echo "This works: {$arr[‘foo‘][3]}";
然后就是heredoc 和newdoc 分别对应双引号和单引号的特点:
其形式为:
<?php $a = <<<EOD hahaha EOD; $b = <<<‘EOT‘ hahhaha EOT; 他们的区别就是EOD加没加引号。 而newdoc是EOT加了引号 还有就是可不可以初始化静态变量 然后EOT里的变量是不会被解析的。
休息下,,下午再看。
标签:
原文地址:http://www.cnblogs.com/-Doraemon/p/4726743.html