php从入门到使用

参考链接:https://www.cnblogs.com/liuyongqi/p/6942996.html

1,php中文网:http://www.php.net/manual/zh/

2,php插入到html中:只要php代码使用<? php    ?>包裹,都可以嵌入到html中;

3,变量使用$开头,eg:   $obj=3;

4,php的内置函数不区分大小写:ECHO和echo是一个意思;但是变量区分;

5,①PHP支持8种数据类型:
         4种标量类型:布尔型Boolean 整形integer 浮点型float/double 字符串string
         2种复合类型:数组Array 对象Object
         2种特殊类型:资源Resource 空null。
②整形的范围从-2^32~-2^32-1,超出这个范围,自动转为浮点型。

6,PHP中算false的情况 
     Boolean false
     整形 0
     浮点型0.0
     字符串"" "0"("0.0" "0000"都算对)
     空数组
     空对象只在PHP4版本false,其他版本都算true。
     Null和尚未定义的变量
     所有资源都算对!!(除PHP4,所有对象也算对)

7,php中定义字符串: 

使用单引号:'  hi   '    

使用双引号:"  hi  "  

   使用界定符:<<<  this is my jack  

  ④三种方式的区别:
a:定界符功能默认与双引号相同。定界符中可放双引号。
b:单引号中,不能解析变量。而双引号、定界符都可以解析变量。
注意:双引号中解析变量时,变量名应使用空格分隔,推荐使用{}包起来。
c:各引号中可互相套用,但是不能放与自身相同的引号。
d:单引号中,不能使用转义字符(但是除了'本身,转义字符\本身),双引号中,可以使用转义字符。

     

9,类型转换:

自动类型转换:表示运算的时候,Boolean、Null、String等类型,会自动转为integer或float类型。
Null——>0
true——>1
false——>0
string——>转非数值前的数字,没有转为0
强制类型转换:强制将变量转换为其他类型的变量;

settype($name, "number");  //(int ,integer ,bool ,boolean,float,double,string   array  object) 

10,【PHP判断变量类型的测试函数】
is_bool():判断是否是布尔型
is_int()、is_integer()和is_long():判断是否为整型。
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
is_array():判断是否为数组
is_object():判断是否为对象
is_resource():判断是否为资源类型
is_null():判断是否为null
is_scalar():判断是否为标量
is_numeric():判断是否是任何类型的数字和数字字符串
is_callable():判断是否是有效的函数名
 

11,【PHP中的输出语句】
echo "……";输出变量的值。
var_dump(num);输出变量的数据类型和值[和一些其他信息]。
print_r();专用于打印数组。

12,常量:

13,逻辑运算符:
and/&& or/|| not/! xor(异或)

其他运算符:

``:调用系统都是环境下的命令行并执行,但是由于安全性以及跨平台性,我们并不提倡使用:eg:`ipconfig`  

 @:错误信息控制符。可以临时屏蔽掉一些小的错误信息。但是不提倡使用!
=>:数组下标指向
->:对象

14,【可变变量】
在一个 变量名前边,再加一个$符号。即可将第一个变量的值,作为新变量的名字。
$hello="hello1";
$$hello="world";//$hello1
$$$hello="liu";//$world

&:取址符号。变量名前加&符号,取到当前变量的引用地址(变量在内存中的地址)。
$num2=&$num1;//取出num1的地址给num2,

15,流程控制语句:

exit(mixed 结束语)/die(mixed 结束语)函数:直接结束当前的PHP脚本!如果有参数传入,则先打印出结束语,然后结束当前脚本。

16,函数定义:不区分大小写;

function  new1(){  }  和  function  NEW1(){ }一个意思;

17,函数作用域:

局部变量:函数内;全局变量:函数外;

但是php中有两个限制:1,局部作用域不可以访问全局作用域中的变量;2,全局:作用域不可以访问局部作用域中变量;

解决问题1:在局部作用域中将要使用的全局变量前加global,即可调用。

$a=10;   function  new(){   global  $a;   echo  $a;  }

或者:$a=10; function new2() {     echo    $GLOBALS[' a' ];  }    //注意:一定要大写;

或者:通过给函数传参,可以在函数内部使用过全局变量;但是,传递以后的参数是函数的局部变量,内部改变,外部不会变;

除非,传递的参数是地址function func($a1,&$a2){ }

注意:通过方法一来使用全局变量$a,实际上是建立了一个新的引用,所以如果使用unset($a),这个时候是不会销毁变量的。如果将方法一代码的"//unset($a);"解注释后运行,仍然能输出正确的结果。但是$GLOBALS['a']仅仅是是全局变量的的另一种语法形式,并没有建立新的引用,所以,如果解注释方法二中的"//unset($GLOBALS['a']);",程序将无法正常运行

18,静态变量:在函数第一次加载的时候声明,再次加载函数不再声明;

function  s(){

static  $a=1;

$a++;

echo  $a;

}

s();     //  1

s();  //2而不是1;

19,必须:函数的实参>=形参数量;

func_get_args()//取所有参数列表(数组)

func_num_args()//返回参数的总个数,相当于count(func_get_args());

func_get_arg(0)//根据下标,取每个参数;相当于func_get_args()[0];

function aa(){

echo  func_num_args ;   //5

}

aa(1,2,3,4,5);

20,回调函数:函数B作为函数A的参数,B是回调函数;

21,匿名函数:$a=function(){  };

22,引入外部文件夹到当前文件:

include和require的区别:

一般,当用于在文件最上方导入某些文件时,使用require导入,如果导入失败,则不执行文件;
而如果是在某些分支条件中,导入某些操作,使用include导入,即使导入失败,不影响后续代码执行;
include_once和require_once表示:文件只能导入一次。如果多次调用函数,则后面的语句会判断文件是否导入,再决定是否导入新文件(效率优化问题,不推荐)

include ("funcText.php");

require ("funcText.php")

23,数组:索引数组,关联数组;

定义:$arr1=array[1,2,3,4,5,6,7,8];   //索引数组

           $arr2=array[ "one"=>1, "two"=>2, "lala"=>3];   //关联数组,有点类似键值对的意思;

读取:$arr1[0];  $arr2["two"];

遍历:count($arr)用来统计数组元素个数;

           for($i=0;$i<$num;$i++){              //for只能遍历索引数组;
                    echo  $arr[$i] ;
                    }   

或者:foreach($arr1 as  $item){    //foreach可以遍历任何种类数组;

            echo    $item ;}   //  1,2,3,4,5,6,7,8一定是$item

   或:foreach($arr2 as $key=>$item){

          echo  $key ; echo $item }     //one, two ,lala ;   1,2,3

24,php的超全局变量(数组):就是php中内置的变量,不需要我们再定义的。

$_GET:  获取前台get方式提交的参数;

$_POST: 获取前台post方式提交的参数;

$_SERVER:  获取服务器变量;

$_EVN:  获取环境变量;

$_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组。

$_COOKIE:获取当前页面cookie信息
$_SESSION:取到保存在session中的信息。

$GLOBALS包含了上述所有全局数组,可以通过$GLOBALS["$_SERVER"]取到$_SERVER;

 

猜你喜欢

转载自blog.csdn.net/kalinux/article/details/88134968
今日推荐