现在的位置: 首页 > 综合 > 正文

PHP学习随笔

2017年11月26日 ⁄ 综合 ⁄ 共 1867字 ⁄ 字号 评论关闭

1、语法标记,支持多种,推荐使用标记: <?php 代码 ?>

2、变量定义,以美元符开始,区分大小写(但是函数不区分大小写),直接用$abc,输出变量的值,可以用如下语法:
$abc = "abc";
$abc = 1;      // PHP的变量是弱类型,可以随时修改值类型
echo '变量abc的值是: $abc';
echo '变量abc的值是:' . $abc;
echo "变量abc的值是: $abc"; // 双引号里可以直接引用变量,单引号里不能
// 上面的代码输出结果是:
变量abc的值是: $abc变量abc的值是:1变量abc的值是: 1

3、进行时间操作前,使用 date_default_timezone_set('PRC'); 进行中国时区选择,不选择时,默认是UTC时区

4、返回类似.net格式的日期字符串(yyyy-MM-dd HH:mm:ss)的PHP语法: echo date("Y-m-d H:i:s.u");
其它输出格式参考:http://www.php.net/manual/zh/function.date.php

5、奇异的可变变量

$a = 123;
$b = "a";
echo $$b;// 输出变量a的值:123

6、变量引用,传址赋值:

$a = "1,";
$b = &$a;  // &表示获取变量地址
echo $a.$b;
$b = "rty,";
echo $a.$b;// 输出 1,1,rty,rty, 

7、静态变量:

abc(); abc(); abc();
function abc(){
    static $a = 1;
    $a++;
    echo "$a;";
}
// 代码输出:2;3;4; 

8、常量定义:只能用函数function define ($name, $value, $case_insensitive = false)定义,且常量名不用美元符开头。
参数1为常量名,参数2为常量值,参数3表示常量名是否要区分大小写,默认false表示区分大小写,使用示例:

define("abc", "123;", true);
echo abc.Abc.AbC; // 输出 123;123;123;
echo constant("a" . 'b' . 'C'); // 动态组织常量名,并输出 123
define("def", "456;");
echo def;  
echo Def; // 输出 456; Notice: Use of undefined constant Def

要查看系统预定义的常量列表,可以使用:phpinfo(); 函数输出并查看,或者参考手册:

http://php.net/manual/zh/reserved.constants.php

这个链接是魔术常量: http://php.net/manual/zh/language.constants.predefined.php

9、输出大量文本的方法:heredoc,用它可以原封不动的输出大量文本,比如html,如:

$abc = "Hello";
    $def = "you";
    echo <<<EndMark
    aaa
    $abc <b>$def</b>
    bbb
    theEnd;
EndMark;

输出结果html如下:

    aaa
    Hello <b>you</b>
    bbb
    theEnd;

说明:<<<表示下一行开始都是要输出的文本,紧跟着<<<的一串字符,定义了大量文本的结束符,比如代码里的EndMark可以改成END,xxx都可以。

不过结束符必须从第一列开始,前面不能有空格或任意字符,后面必须紧跟分号,分号后也不能有任意字符。

10、超全局变量,参考手册:http://cn2.php.net/manual/zh/language.variables.superglobals.php
这9个变量是程序全局部作用域都可以使用的变量:

$GLOBALS; $_SERVER; $_GET; $_POST; $_FILES; $_COOKIE; $_SESSION; $_REQUEST; $_ENV

11、全局变量引用: $GLOBALS 和 global:

$foo = "out;";
test();
test2();
function test() {
    $foo = "inner;";
    echo "引用全局变量:".$GLOBALS["foo"];
    echo "引用局部变量:".$foo;
}
function test2() {
    global $foo;// 声明在函数里使用的foo,都是外部定义的全局变量
    echo "引用全局变量:".$GLOBALS["foo"];
    echo "引用局部变量:".$foo;
}

上述代码输出如下:

引用全局变量:out;引用局部变量:inner;引用全局变量:out;引用局部变量:out;

抱歉!评论已关闭.