天天看点

PHP学习笔记-1(变量、常量、类型、作用域、数组、字符串、大小写)

1、php代码是包含在代码块里的,就像javascript一样

<?php ?>    
<? ?>    //简写形式
<?= ?>  

//代码块中引入另一个php文件:
//require和include
require "test.php";     //是优先引入(即在文件头就会引入),若找不到引入文件,产生错误并停止运行脚本
include "test.php";     //是读到这一行时才引入.若找不到引入文件,产生警告脚本将继续运行


//PHP中对大小写敏感处理 是比较乱的,详见后面小节
           

2、PHP变量和常量、作用域

//变量以 "$"开头,自动识别类型

//函数内部定义的是局部变量,函数外定义的是 全局变量,还有一种超全局变量(系统预定义的特殊变量)

$str = "nostring";
function Fun()
{
    $str = "string";   
    var_dump($str);        //string(6) "string"    
}

function Fun2()
{
    global $x;         //声明变量,变量的定义在全局
    var_dump($str);    //string(8) "nostring"
}
           

php超全局变量(系统预定义变量,后面还有很多预定义的特殊变量、常量)

$GLOBALS	//全局作用域中的全部变量数组,$GLOBALS[index],存在就取值,不存在就创建
//例子: $GLOBALS["T"]=;


$_SERVER   //包含脚本所在服务器的一些信息,如:路径和脚本位置的信息   

$_REQUEST	//包含所有请求信息,包括$_GET,$_POST,$_COOKIE

$_POST     //是一个数组,存有表单get/post过来的key-value
$_GET

$_COOKIE
$_SESSION  //存session域数据,先 session_start();开启SESSION;

$_FILES
$_ENV
           
//PHP中常量定义:
define($PI,);          //define(name,value);
           

3、数据类型(8种)

string(字符串):"string",'string'
integer(整型): 
float(浮点型,也作 double ): 
boolean(布尔型)    :true/false;

//两种复合类型:
array(数组)
object(对象)

//两种特殊类型:
resource(资源)
NULL(空)




//查看变量类型:gettype()和is_type 系列函数:
//由于历史原因gettype(float)返回的是 double,而不是 float 。

var_dump($var);         //查看某个表达式、变量的值和类型
gettype($var);         //查看变量的类型
is_int()/is_float();    //判断变量类型

           

4、php语句:

//php语句类似JAVA等。语句结束需要";",语句块有 {},有switch,foreach等

for (arr as i)      //foreach,注意是as,并且iterable在前
{
    echo i;
}

switch($str)       //字符串可以用于switch
{
    case "string":
        break;
}
           

5、数组

数组和js类似: 数组就是键值对,默认key是从0开始自动分配,可以自己指定Key 为字符串等,这样就是map

//创建数组三种方式:
$arr = new Array("key"=>value);        //指定key-value
new Array(value);                   //指定value,key由系统分配
$arr[] = ""                       //指定key-value
           

6、字符串

系统肯定提供了很多字符串处理函数,具体见参考手册

//字符串连接,一般用点号".",但"."效率不如.= 和array-join
$str = "123"."456";        //123456
$str .= "789";         //123456789

$arr=array();         
array_push($arr, $str);
$str = join($arr);      //0123456789
           

7、PHP的函数

//函数名对大小写不敏感
//和javascript的函数类似
function Fun($var = "")
{
    return NULL;
}
           

8、大小写敏感问题

//一、大小写敏感的
常量名、变量名区分大小写
php.ini配置项指令区分大小写


//二、不区分大小写:
函数名、方法名、类名 不区分大小写;
魔术常量不区分大小写
NULL、TRUE、FALSE不区分大小写 
类型强制转换,不区分大小写
(int),(integer) – 转换成整型 
(bool),(boolean) – 转换成布尔型 
(float),(double),(real) – 转换成浮点型 
(string) – 转换成字符串 
(array) – 转换成数组 
(object) – 转换成对象