PHP学习疑难杂症

变量
当双引号中包含变量时,变量会与双引号中的内容连接在一起;双引号会将内容解析,如"\n"转为换行
当单引号中包含变量时,变量会被当做字符串输出。

*Heredoc结构形式*
首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。
标识符可以根据喜好随便换,保持前后一致即可

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

NULL
NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL

常量
函数define()定义

<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);

echo PI;
echo "<br />";
echo PII;
?>

连接符号 "."
类似+,单是其实只能用来字符串相加,即使是数字相加,也会转化为字符串

获取常量
直接使用常量名
constant($p),参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。

布尔值
bool 如果直接输出,true为‘1’,false不输出。实际中需要使用var_dump()函数判断

var_dump($is1); // bool(true)
var_dump($is2); // bool(false)

引用赋值
“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

<?php 
        $a = "我在慕课网学习PHP!";
        $b = $a;    
    $c = &$a;
    $a = "我天天在慕课网学习PHP!";

    echo $b."<br />"; // "我在慕课网学习PHP!"
    echo $c."<br />"; //"我天天在慕课网学习PHP!"
?>

*逻辑异或*
逻辑异或:只能有且只能有一个人投票同意;
注意and,or,xor需要括号,因为优先级不够
mooc

<?php 
$a = TRUE; //A同意
$b = TRUE; //B同意
$c = FALSE; //C反对
$d = FALSE; //D反对
//咱顺便复习下三元运算符
echo ($a and $b) ? "ok":"pass";
echo "<br />";
echo ($a or $c) ? "ok":"pass";
echo "<br />";
echo ($a xor $c xor $d) ? "ok":"pass";
echo "<br />";
echo !$c? "ok":"pass";
echo "<br />";
echo $a && $d ? "ok":"pass";
echo "<br />";
echo $b || $c || $d ? "ok":"pass";
?>
@2017-12-24 00:48