常量变量的复习

变量

1,PHP变量的定义和使用

                   通过正则表达式表示为:字母 下划线 开头 ^[a-zA-Z_]\w*

 2,PHP变量的作用域

  $var1 = 10;//这个就是全局范围的变量

 function test(){

    //$var1 = 20;//在函数内部定义的变量,就是局部范围的变量,作用范围只能在函数内不起作用

    //如何在局部范围内使用全局变量

    global  $var1;//方法一

    echo $var1;

   echo $GLOBALS['var1'];//方法二(推荐)

 }

 test();

 echo $var1;

【如何在局部范围内使用全局范围的变量?使用global】

             

3,变量的赋值(值传递;引用传递)

   $num1 = 10;

 $num2 = $num1;

   $num1=20;

 echo $num2;//10 php默认的变量赋值是值传递,不改变原来变量的值

   echo '<br/>';

   $num3 = 10;

   $num4 = &$num3;

 $num3 = 20;

 echo $num4;

//20 这里是引用传递通过&来实现,引用的是保存在内存地址中得值,如果修改会修改内存地址中得值

4,超全局变量(预定义的变量)

①      $GLOBALS 保存全局变量

②   $_SERVER 保存服务器信息

③   $_GET 保存get数据

④   $_POST 保存post数据

⑤   $_FILES 保存提交的文件

⑥   $_COOKIE 保存得到的cookie

⑦   $_SESSION 保存session数据

⑧   $_REQUEST 保存请求数据

⑨   $_ENV 保存环境

 

 

常量

 1. //常量的定义define("常量名"常量值”);

define("PATH",__FILE__);

echo  PATH;

   echo '<br/>';

//判断某个常量是否被定义了

echo  defined("PATH");

if(defined("PATH")){

    echo PATH;

    }else {define("PATH",__FILE__);}

 【define()函数可以定义常量;defined()判断某个常量是否被定义了】

2.特点:(1)常量的定义不用使用$

(2)常量不用理会作用域,可以在任何地方使用

(3)常量一旦被定义,不能被重新复制

 

魔术常量(7个):

__FILE__  获得当前文件的绝对路径和文件名

__LINE__  文件当前的行号

 

控制结构

1,return;

(1)函数中使用return,立即停止函数的执行,将函数的值返回;

(2)在php脚本中使用,停止脚本文件代码的执行

function control(){

    $a=10;

    $b=20;

    return  $a+$b;//如果在函数内部使用return 会停止函数运行并将结果返回

    echo 'hello';

}

$a=10;

$b=20;

return ;//如果在php的脚本中使用return  会停止脚本运行;

2,require_once() 

和require()作用一样,都是引入外部文件,区别在于require_once(),如果该文件已经被包含,则不会再次包含,避免函数重定义和变量的重新赋值

3,include()和require()的区别在于,include()重复包含文件时,产生警告级别的错误;require()产生致命错误

函数

函数参数的传递默认是值传递,所以即使在函数内部改变了参数的值,也不会改变函数外面参数的值

想要函数的参数采用引用传递,在参数前面 &

 

PHP的数据类型

1,标量类型: 字符串  整型浮点型布尔型

字符串:

(1)单引号双引号

$str1 ="hello world";//双引号会解析变量----执行速度慢

$str2 ='hello world';//单引号会将内容原封不动的输出----执行速度快

    (2) heredoc :heredoc擅长定义复杂的字符创

    (3)常用的字符串函数(重点)

              ①字符串查找://strpos(haystack,needle);查找字符串首次出现的位置

                    //strrchr() 从字符串最后一次出现的位置开始,返回子字符串

            Eg:$str='this is mymacbook';

 echo strpos($str,'m');//返回第一次出现的位置

                 echo strrchr($str,'m');//返回最后出现的字符之后的字符串

              ②字符串替换://trim()去掉字符串首尾空白字

//str_replace(查找的字符串,替换的字符串,在哪个字符串中查找);

//substr_replace()把字符串的一部分替换成另一个字符串

//substr(string,start,length);返回字符串的子串

              Eg:$str3=' hello ';

 $str4=trim($str3);//去除空格

 echo strlen($str4);//输出字符串的长度

 echo'<hr/>';

 $str5=__FILE__;

 $str6=str_replace('string.php','',$str5);

 $str7=str_replace('\\','/',$str6);

 echo $str7;

 echo'<hr/>';

 $str8='this is my macbook';

 echo substr($str8,8);

 echo'<hr/>';

 echo substr_replace($str8,'iphone',11);

              ③ 字符串比较:

//strcasecmp()以不区分大小写的方式比较字符串,返回0表示字符串相等

//将字符串全部转化为小写 strtolower($str1);

//将字符串全部转化为大写 strtoupper($str2);

             Eg:$name1="USERNAME";

 $name2="username";

 //strcasecmp();以不区分大小写的形式进行比较字符串

 echo strcasecmp($name1,$name2);

 //将字符串全部转换成大写或小写strtoupper()转化为大写

 //die();//exit()停到这里不向下进行

 if($name1==strtoupper($name2)){

              echo 'true';

              }else{

            echo 'false';

 }

         ④字符串拆分://explode将字符串根据某个定界符分割成一个数组

//implode()通过一个定界符使数组元素连接成一个字符串

            Eg:$str_1='php,.net,3g,java';

                $str_2=explode(',',$str_1);

//根据某个定界符将字符创分割成一个数组,

                //数组的元素就是根据定界符分割成的几个部分

                 var_dump($str_2);

                 echo'<hr/>';

                //implode()根据某个定界符  将数组元素连接起来生成一个字符串

               $arr=array('php','.net','3g','java');

                echo implode(',',$arr);

                echo'<hr/>';

     正则表达式匹配

               //php支持正则表达式正则可以比喻成一个筛子 js可以使用 php也可以使用

preg_match('/(HTTP:\/\/W{3}\.)(.+)/i','HTTP://WWW.sina.com',$match);

//如果提供了第三个参数  会将在整个正则表达式匹配的所有结果放到数组中

//sina.com 替换成360.com

echo preg_replace('/sina\.com/','360.com','HTTP://WWW.sina.com')

2,复合类型:数组对象

         数组

         (1)使用for()遍历数组,适合下标从0开始,连续的整型索引数组

         (2)foreach()遍历数组

    Eg:$array= array('php','.net');

         //count()统计数组元素的个数

         for($i=0;$i<count($array);$i++){

         echo $array[$i];

           }

          echo  '<hr/>';

         $array= array('php','.net','subject'=>'java','name'=>'xiaoming');

           foreach ($array as $value){//每循环一次  将当前的索引对应的值付给$value

        echo $value;

   }

 

 

 

 

 

 

数组指针

    (1)current()获得当前数组指针指向的数组元素

    (2)next()   将数组的指针指向下一个

    (3)prev()   将数组的指针向前移动一个

    (4)reset()  重置数组指针

(5)end()    将数组指针移动到最后

 Eg:$arr2=array('php','.net','subject'=>'java','name'=>'xiaoming');

       //echo current($arr2);

       next($arr2);

      // echo prev($arr2);

      echo reset($arr2);//重置

 

常用的数组函数:

   array_push()  入栈,讲一个或多个元素压入数组的末尾

   array_pop()   出栈,将数组最后一个元素弹出

   array_shift()  将数组开头的元素移出

   array_unshift()  在数组开头插入一个元素

 eg:$array=array('php');

     array_push($array,'.net');//入栈,向数组末尾添加一个元素

     var_dump($array);

     echo '<hr/>';

     var_dump(array_pop($array));//出栈将数组中的最后一个元素弹出

     echo '<hr/>';

     $array=array('php','.net','3g');

     echo  array_shift($array);

     echo '<hr/>';

      array_unshift($array,'c');

      var_dump($array);

数组排序:

sort()   删除数组原有的键名

rsort()  对数组逆向排序,删除数组原有的键名

asort() 对数组正向排序(按照元素值),不会删除数组原有的键名

ksort()  对数组按照键名排序

eg:$array=array('php','subject'=>'.net','3g');

     //sort($array);//先删除数组的键名  再根据数组的值排序

     //rsort($array)

    //ksort($array);//按照键名排序优先排特殊字符数字字母

     asort($array);//不删除原有的键名按照数组元素的值排序

     var_dump($array);

3,特殊类型: Null   resource(资源)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值