分享

PHP入门教程(2)数组+函数+变量

 知识书馆 2022-07-16 发布于广东

昨日回顾

         数据类型

                   标量数据类型

                            整型int   integer

                            浮点型float

                            字符型string

                            布尔型boolean

 

                   复合数据类型

                            数组array

                            对象object

 

                   特殊数据类型

                            null

                            资源resource

 

         php中的常量

                   define(“常量名”,);

1、  常量名前不能加$

2、  常量一经定义就不能更改其值

3、  常量可以在任何位置定义,在任何位置访问

const 常量名=值;

 

魔术常量

         __line__

         __file__

         __function__

         __class__

 

 

         变量:

                   变量相关的函数

                   empty()                       判断一个变量是否为空,及其值是否为false

                                                        0null0,0false””

                   isset()

                   is_object();               

                   is_int()

                   is_bool();

                   is_string();

                   is_array

 

         php中数据传递的类型

                   赋值传值

                            整型、浮点型、字符型、布尔型、数组null

                   引用传值

                            对象

                            资源resource

 

php中的类型强制转换

         int    integer                        将一种数据类型强制转换不整型

         float double real                将一种数据类型强制转换为浮点类型

         string                                    将一种数据类型强制转换为字符类型

         bool                                       将一种数据类型强制转换为布尔类型

         array                                     将一种数据类型强制转换为数组

         object                                   将一种数据类型强制转换为对象

         对象的转换为整型和布尔型时也同数组一样

         JS中测试数据类型typeof();

         php中测试数据类型:gettype($v);                返回数据类型

 

      php中的数组

         js中数组的定义

                   var arrA=[10,20,30];

                   var arrB=new Array(10,20,30,['a’,’b’,’c’]);

                   arrA[1]=50;

 

      php中的数组

                   分两类

                   索引数组

                            定义:

                            $arrA=array(10,20,30);

 

                            获取数组长度:

                            count(数组名);

                                     count($arrA)

 

                            $arrA[0]=50;

                            $arrA[]=60;

                   关联数组

                            php中在为创建数组时,可以同时为每一个元素指定一个名子(键名),也就是每一个元素下标

                            $arr=array(键名0=>0, 键名1=>1, 键名2=>2, 键名3=>3);

                            访问关联数组元素:

                                     数组名[“键名”];

 

                   混合数组

                            $arr=array(键名0=>0,1, 键名2=>2,3);

 

         php中的foreach循环结构

                  foreach语法结构

                   第一种:

                   foreach(数组名as 变量){

                            echo变量;

};

         foreach进行第一循环会将数组中的第一个元素的值赋予变量,第二次循环时将第二个元素的值赋给变量,依次循环下去,至到数组中的元素被遍历结束

                   第二种:

                   foreach(数组名as变量1=>变量2){

                            echo变量1.变量2;

};

foreach进行第一次循环会将数组中的第一个元素的键名值赋予变量1,将第一个元素的值赋予变量2

第二次循环会将数组中的第二个元素的键名值赋予变量1,将第二个元素的值赋予变量2;至到数组中的元素被遍历结束

        

    php中的多维数组

                  JS中的二维数组

                   var arrA=new Array();

                   arrA[0]=[10,20,30];

                   arrA[1]=new Array('zhangsan’,20,’’);

                   var arrB[0][0]=100;                  //JS中不允许

                   php中的二维数组

                   定义:

                   第一种:

                            $arrA[0][0]=100;              

                   第二种:

                            $arrA=array(

'stu0’=>array('name’=>’zhangsan’,’age’=>20,’sex’=>’’),

'stu1’=>array('name’=>’lisi’,’age’=>22,’sex’=>’’),

'stu2’=>array('name’=>’wangwu’,’age’=>26,’sex’=>’’),

'stu3’=>array(’wangwu’,26,’sex’=>’’)

);

                            $arrA[10][10]=100;

 

                   对维数组的访问:

                   数组名[行坐标][列坐标]

                            $arrA[10][10];

                            $arrA['stu0’]['name’];

                            $arrA['stu3’][0];

 

数组元素的删除

                   JS中删除一个数组元素:

                            delete(数组名[下标]);

                            JSdelete清除数组元素的值时,数组长度不变

                            JS中数组元素的下标是连续

                   php中删除一个数组元素:

                            unset(数组名[下标]);

                            php中使用unset删除一个数组元素时,数组长度更改

                            php中数组元素的下标可以不连续

 

课堂案例:

 

函数

         是段完成某一功能的代码段

         定义:

                   function函数名(形参1,形参2,形参3…..){

                            //函数体

                            [return];

}

                  

                   函数的调用

                            函数名(实参1,实参2,实参3…);

 

1、  形参也一个变量,只能在函数内部使用,对外部是不可见的

2、 php中形参也可以赋值(形参的默认值),当没有为具有默认值的形参传值时,使用的是默认值,当为具有默认值的形参传递值的时候使用的是被传递进来的值

3、  具有默认值的形参一般是放在形参列表的最后

4、 php在函数调用是传递的参数的个数,不能少于不具有默认值的形参个数

5、可以在形式参数前添加”&”,将实参以“引用传递”的方式传递给形参

 

调试函数

         exit                               //终止脚本执行,不输出提示,不再执行其后代码

         exit(“提示信息”);             //终止脚本执行,输出提示,不再执行其后代码

         die                                //终止脚本执行,不输出提示,不再执行其后代码

         die(“提示信息”);     //终止脚本执行,输出提示,不再执行其后代码

 

php中的作用域

         JS中的作用域分两种:全局作用域,局部作用域

                   局部作用域:定义在函数内部的变量的作用域就是局部作用域

                   全局作用域:定义在函数外部的变量的作用域就是局部作用域

 

         PHP中的作用域分三种:

                   第一种:外部作用域

                            定义在函数外部的变量,其作用域就是外部作用域

 

                   第二种:内部作用域

定义在函数内部的变量,其作用域就是内部作用域

 

                   第三种:全局全用域

                            global关键字(全局)

                            语法:

                            global 变量;

a、  在函数外部定义一个变量,在函数内部使用global关键字进行声名,则该变量的作用域即为全局作用域

 

b、  在函数内部先使用globa声名一个变量,再为这个变量赋值,则该变量的作用域即为全局作用域

 

原理:当使用一个globa声名一个变量时,php去内在的全局区去查找该变量,如果找到则使用该变量,如果未找到则在全局区定义一个变量

 

 

static变量

         在函数内部使用static声名的一个变量叫静态变量

     function func1(){

              static $v1=100;

              $v1++;

              echo $v1."<br/>";

     }

1、  静态变量只被初始化一次

2、  静态变量不会随函数的调用与结束而消失,其依然保留,但静态变量不能在外部访问;当再次调用函数时,仍然可以使用该变量上次运行时的值班

3、  静态变量只能为其赋予字符值数值,不能是一个表达式。

4、  当在多次调用函数时,仍然保留某一变量的值是,可以考虑使用静态变量,全局变量也可实现。但使用全局变量不安全

 

php中的字符串得函数

         strlen($str);                        //获取字符串长度

         trim($str1[,$str2]);           //如果省略$str2参数,则是去除字符串$str1两边的空白符;

                                                        //如果不省略$str2参数,则是去除字符串$str1两边的$str2字符;

         ltrim($str1[,$str2])

         rtrim($str1[,$str2]);

         strstr($str,$sub);     //$str中查找$sub第一次出现的位置,并截至了字符串末尾

         strchr($str,$sub);    strstr的别名函数

         strrchr($str,$sub);   //$str中查找$sub最后一次出现的位置,并截至了字符串末尾

         substr();                     //$str中从start位置截取字符串,如果len省略则截取到字符串末尾,如果不省略len则截取到len前一个字符,位置从’0’开始算起

         strpos($str,$sub);    //返回字符串$sub$str中第一次出现的位置

         strrpos($str,$sub);           //返回字符串$sub$str中最后一次出现的位置

         explode(’分隔符’,$str)    //隔符加字符串分划成数组

         join();                                    //

         implode();

         addslashes();            //在一些特殊字符前面添加”\”     特殊字符\null

                                               //一般用在将数据存到数据库中

         nl2br();                        //将文本中的\r\n等转换为”<br/>”

         htmlspecialchars (); //html中一特殊字符转换成转译符

         htmlspecialchars_decode();    //htmlspecialchars()函数的逆操作

 

         数学计算函数

         abs();                 //取绝对值

         ceil();                  //向上取整

         floor();               //向下取整

         round($n[,精度倍数]);              //保留指定精度位数,并进行四舍五入

         rand($min,$max);//获取随机整数

         pow($m,$n);    //mn次方

         sqrt($m);          //获取m的平方根

         max($n1,$n2); //获取n1n2中的最大数

         min($n1,$n2);          //获取n1n2中的最小数

 

数组

         list($v1,$v2,$v3…..);                  //这是一种语法结构,将数组中的元素赋值给$v1$v2

list不能使用关联数组

         count($arr);

         array_values($arrA);                 //返回关联数组中所有的值,并组织成为一个索引数组

         array_keys();                               //返回关联数组中所有的键,并组织成为一个索引数组

         in_array($str,$arrA);                //在数组$arrA中查找$str字符,如果有则返回true,没有返回false;

         array_key_exists($key,$arrA);       //要数组$arrA中查找是否存在$key的键,如果存在返回true,如果不存在返回false;

         implode($arrA,’分隔符’);                  //将数组以指定的分隔符拼接成字符串

         array_shift();             //在数组前面删除一个元素,数组长度改变,并返回被删除的元素

array_unshift();        //在数组前面添加一个元素,

array_push();            //在数组后面添加一个元素,

array_pop();              //在数组前面删除一个元素,

array_walk_recursive($arrA,”函数名”);

array_walk();            //自动创建sql语句

 

 

时间

         time();                         //取得时间戳 返回从时间原点至当前时间的秒数

         mktime();                   //取得指定时间的时间戳

                   mktime(时,分,秒,月,日,年);

                  

         date(“时间格式”,时间戳);                        //

         idate();

         microtime();

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多