PHP笔记一

PHP语言就是其中的一种,因为它可以运行在Web服务器端。
1、运行在服务器端:学会了PHP,就可以指挥服务器给你干活,WEB网站的大部分数据都是存储在服务器端的,PHP就是用来处理这些存储在服务器的数据的。
2、跨平台:有多种平台的服务器,都可以使用php来指挥。
3、在编写PHP的过程其实就是与老外(服务器成老外啦)交流的过程,交流的语言就是PHP。

 

 

被认为是false的值

布尔值 FALSE 本身

整型值 0(零)

浮点型值 0.0(零)

空字符串,以及字符串 "0"

不包括任何元素的数组

不包括任何成员变量的对象(仅 PHP 4.0 适用)

特殊类型 NULL(包括尚未赋值的变量)

从空标记生成的 SimpleXML 对象

引用赋值

利用 “&”表明要的是地址,即是修改了它指向的地址

如:&$two = $one;  即是two有个& 标明 它要的是地址 所以的 one 给了它one的地址,因此它们指向一样的地址

即是 都指向 有& 的变量地址 , 值都等于它

注意 :利用unset()能够清空变量的值;如上面 unset($a); 此时a=null , b不受影响

这种方法时违反了封装性.按道理,函数运行之后,对外部的环境应该是"没有副作用的".

因此:对函数进行引用传参,是不推荐的!在PHP5.0以上就不推荐了,

PHP5.4的时候,干脆删除了引用传参这个功能. 报fatal error

解决 : 如果真的想获得函数里面的值,应该函数中直接return该变量出来,再接收

动态变量
$a = 1,
$b =”a”,那么$$b就等于1 ; 因为 $($b)=$a=1;动态变量
$a = 1,
$b =”a”,那么$$b就等于1 ; 因为 $($b)=$a=1;

运算符

如果相加的数过大溢出,会自动换型

全等于 := = = ,要求值相等并且类型也相等

应用: 

 

因为一般0默认为false,用==不行

 

switch分支 : 如果不添加break;如果case成立,后面的还是继续执行;case不能使用范围

组合问题之买鸡

有100元;公鸡5元/只;母鸡3元/只;小鸡1元/只。要买100只鸡,总共多少只公母小?

利用for循环组合出方案

函数的概念

函数就是一段封装好的代码,等待调用;不调用不执行

function 名(){}

直接输出或者通过返回得到结果

return时结束函数,其后的语句不再执行

函数内的值如果不返回的话,是不能影响外面的同名变量

函数里面的q和外面的q不是同一个

局部问题/函数作用域/

PHP中函数变量和全局是完全隔绝的,也就是无法相互访问

函数内如果想要函数外的全局变量的值可以用global声明为全局变量,但是一般不建议使用global,因为破坏了函数的封装性

复制代码
$a = 1;
    $b = 2;
    $c = 3;
    function Sum()
    {
       $b = $a+$c+10;//在还没声明global之前是不能获取$a,$c的值,即仍然是局部变量范围
       echo $b . "\n"; //输出10
       global $a, $b; //声明为全局变量,值和外面的全局a一样  
       echo $b ; //$b变成全局变量,所以和外面的全局变量一样,输出2 
    }
    Sum();
    echo $b; //输出2
复制代码

 

 注意 : for,while,foreach等循环并不是局部变量,而是能够影响循环外面的同名值(同一个)

 

时间类函数

时间戳函数 time(): 表示1970 01 01 0点到现在这一瞬间经过的秒数 ,直接使用

时间的格式化 date():date(‘Y-m-d 星期N h:i:s’[,time()]);  //更多格式化参考手册;字母大小写不同含,

经验 :选字体的时候,前面的@代表字体横向

获得当前的时间的时间戳 :strtotime(‘now’) ;// 还能输出明天等

获得某个时间的时间戳 :mktime()

checkdate(2,29,2000)

在开发手册中中括号表示可选

 

单双引号的区别

(1)单引号内的内容PHP解析器只转义以下字符 ; 双引号转义比较多

(2)双引号能够解析变量;单引号不能,因此单引号速度比较快(转义少不用解析)

posted @ 2017-12-22 18:48  曹士达  阅读(220)  评论(0编辑  收藏  举报