各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

PHP基础知识代码总结

管理员 2023-09-05
PHP
115

PHP基础知识代码总结

内容导读

收集整理的这篇技术教程文章主要介绍了PHP基础知识代码总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7860字,纯文字阅读大概需要12分钟

内容图文

一、PHP基础语法 变量到数组
<?php       //phpinfo();              /* 变量       $a=1;//不分配空间       echo "$a=".$a;       echo "<br/>";       var_dump($a);// 
结果为NULL echo "hello worrld";*/ /* int型最大能表示多大 echo "<br/>".PHP_INT_SIZE; echo "<br/>".PHP_INT_MAX;//(2的31次方-1) 31:4*8-1个符号位 $a=-2147483648; echo "<br/>".$a; var_dump($a);//超过int型 范围 则会变为float类型*/ /* 布尔值 $d=0.0; if(!$d){ echo "!!"; }*/ /* 浮点数 浮点数精度是14(从左边开始,第一个非0就是精度的开始)*/ /*字符型 单引号和双引号区别 $d=90; $d1="$d"; $d2='$d'; echo $d1; echo $d2;*/ //$a=7/5.1; //echo $a; # === 包括类型也相等 /*$a=2; $b=2.0; if($a!=$b) { echo"!="; } if($a!==$b)# !== 包括类型也不相等 { echo "!=="; }*/ /* &&和||只要前面的一个为真假即不执行后一个 and 和 or 则不是 or的优先级比=低 所以 $e=false or true; //结果为false,因为此时$e先赋值为FALSE var_dump($e); $f=true and false;//结果为true,因为此时$e先赋值为true var_dump($f);*/ /*字符串拼接 $a="1";$b="2"; $c=$a.$b; */ /* 对象类型运算符 class Dog{} $dog=new Dog; var_dump($dog instanceof Dog); $a=3; echo $a++*3;//9*/ /*常量 define("TAX_INT",21); #$TAX_INT=9; echo TAX_INT; const TAX_TWO=0.3; echo "<br/>".TAX_TWO; */ /* #require 'other.php';//不会判断是否重复,可能导致重复输出 require_once 'other.php';// 先判断是否有重复引入 #include '111other.php'; #include_once 'other.php'; #require 和include区别: #include如果出现了错误会继续执行, #而require则会终止程序 #echo "22"; $i=2; $result=getNum($i);//传值,也可以传地址& echo $result;*/ /*全局变量 global $a=1; function get() { global $a;//可作用于局部内了 $a++; } get(); echo $a; */ /*数组初始化 //$array=array(1.2,12,"wrwe",true); //echo count($array); $arr=array("log"=>"daomul","mima"=>123); echo count($arr)."<br/>"; foreach($arr as $key=>$val) { echo $key."=".$val."<br/>"; } $arr2=array(""=>"32",1=>"fdsf",23,23); echo $arr2[""]."<br/>"; echo $arr2[2]."<br/>"; #使用true作为下标,即是1 ,false :0; null:"" $arr3=array(123.4=>"arr3"); echo $arr3[123]."<br/>"; #显示详细数组信息 print_r($arr3); echo "<br/>"; var_dump($arr3); #数组可以动态增长 $arr4=array(2,3); echo $arr4[1]."<br/>"; $arr4[2]='11 22 333 444'; #echo $arr4[2]; #字符串的拆分 explode $arr=explode(" ",$arr4[2]); print_r($arr); foreach($arr as $key=>$val)# (要循环的数组 as 数组下标变量) { echo "<br/>$key=>$val"; } echo "<br/>".$arr[1]; unset($arr[1]);#销毁数组元素后,关键字下标不会被重新填充组合 print_r($arr);*/ /*数组运算 叠加 $a=array("a"=>12,"b"=>23); $b=array("a"=>21,"c"=>43); $a=$a+$b; print_r($a);*/ ?>

二、数组

<html>    <head>        <meta http-equiv="content-type" content="text/html;charset=utf-8">    </head>    <body>        <h1> 同一个界面传输参数</h1>                <?php          /* 在 input中加 value="<?php echo $grades; ?>" 仿造百度搜索 */         error_reporting(E_ALL ^ E_NOTICE);        $grades=$_REQUEST['grade'];          $grade=explode(" ",$grades);        $all=0;        foreach($grade as $k=>$v)        {            $all+=$v;        }      ?>            <form action="test.php" method="post">            <input type="text" name="grade"  value="<?php echo $grades; ?>"/>            <input type="submit" value="start"/>        </form>                <?php           echo "总的:".$all;                ?>    </body></html>

三、静态变量

<?php      class Child      {          public static $num=0;          public $name;          function __construct($name) //只有new之后才能调用          {              $this->name=$name;              }              //静态变量不能用this来访问          public function join()          {              self::$num+=1;  //可以: Child::$num              echo $this->name."you";           }          }            $child1=new Child("k");      $child1->join();      $child1=new Child("a");      $child1->join();      $child1=new Child("b");      $child1->join();      echo "<br/>".Child::$num;      //类外只能是  类名::变量,          //类内就能两种?>

四、继承/封装/多态/抽象

/*class Child      {          public static $num=0;          public $name;          //构造方法          function __construct($name) //只有new之后才能调用          {              $this->name=$name;              }              //静态变量不能用this来访问          public function join($ifee)          {              self::ifee+=1;  //可以: Child::$num              echo $this->name."you";           }          }            $child1=new Child("k");      $child1->join();      $child1=new Child("a");      $child1->join();      $child1=new Child("b");      $child1->join();      echo "<br/>".Child::$num;      //类外只能是  类名::变量,          //类内就能两种*/                                 //静态方法不能采用非静态变量,只能使用非静态变量    // 成员函数之间相互调用,需要用  $this->text();        //继承        //1、子类只能继承一个父类    // 如果想多重继承可以考虑通过多次继承:    /*class A{}    class B extends A{}    class C extends B{}*/        //2、父类中的构造方法,在创造一个子类的对象实例的时候不会默认自动调用    //3、 子类中调用父类的方法           //父类名::方法名(); /  parent::方法名(); parent小写的            //覆盖:         # 子类的方法和父类的方法名称和参数个数完全一样,但不要求参数名相同         # 但是修饰符可以不同,但是子的范围〉=父类范围         # 父类是private则不能覆盖    /*class A{        function F(){           echo " 父类在此!<br/>";        }    }    class B extends A{}    class C extends B{        function F(){            echo "调用了父类了<br/>";            parent::F();            A::F();        }    }    $C1=new C();    $C1->F();*/        //抽象类:父类中不需要被实例化,只让子类继承,也可以被调用里面的;达到代码复用          #抽象类   abstract class name{}      #抽象方法 abstract public cry();      #抽象类不一定也有抽象方法      #类包含抽象方法则必须为抽象类      #子类继承抽象父类,则必须为抽象类或者实现继承的所有,所有!方法                  //接口:interfacde 接口{//属性 //方法}        #  只能定义规范,让类去实现接口 ,不能自己实现,       #  class c implements 接口{}       #  接口不能被实例化/接口能继承其他多个接口/不能不为public       # 一个类实现了一个接口,必须把接口以及其继承的接口的方法全部实现       # (1 多个平级的类都要实现某个功能,只是实现方式不同,没有继承关系,         #(2 项目经理定规范,让其他程序员实现       /*interface Stu       {             const A=90;           public function add();           }       interface Stu2{}              class MyStu implements Stu,Stu2      {          public function add()          {              echo "dddd".Stu::A."<br/>";          }      }      $mystu=new MyStu();      $mystu->add();       echo "OK".Stu::A; #获得接口中的常量*/              //final 使类中的方法不被覆盖       # final 不能修饰成员属性       /*class A       {           final public function get($salary)           {             return $salary*3;               }       }       class B extends A       {            public function get($sal)            {              return $sal*2;                }           }           $b=new B();           $b->get("21"); #Cannot override final method A::get() */                      //const常量           # 要赋初始值;不能后面赋值;不能加$等修饰符           # self::A ; 类名::A ;接口名::A;  等方式获得常量A的值

五、文件操作以及错误处理

<?php    // 文件操作  /*处理错的方式1  if(!file_exists("file1.txt"))  {      echo "not here";      exit();  }  else  {      $fp=fopen("file1.txt","r");      echo "文件已打开";      fclose($fp);  }*/    /* 处理错的方式2  if(!file_exists("a.txt"))  {      die("wenjianbucunzai");  }  else  {}  echo "end";*/  /*处理错的方式1    file_exists("b.txt") or die("zhen de ");  echo "end";  */    //定义错误函数  /*function my_error($error,$err_message)  {    echo "<font size='5' color='red'> $error </front><br/>";//2    //echo "错误信息是:".$err_message;    exit();      }  //改变系统默认的错误处理函数(“用户自己定义的错误
输出函数”,“错误类型”) set_error_handler("my_error",E_WARNING); $fp=fopen("aa.txt",'r');*/ //错误触发器 function my_error3($error,$err_message) { echo "错误号:".$error; } function my_error4($error,$err_message) { echo "big big!"; } set_error_handler("my_error3",E_USER_WARNING);// set_error_handler("my_error4",E_USER_ERROR);//致命错误,不继续执行 $age=140; if($age>120) { //调用触发器的时候指定错误级别 trigger_error("输入的数字过大!",E_USER_ERROR); //trigger_error("输入的数字过大!",E_USER_WARNING); //exit(); } echo "ok";?>

六、错误日志

<?php  //错误日志 php.ini 中的error_log的配置  function my_error5($error,$err_meaasge) {       $err_info="错误信息:".$error."--".$err_meaasge;       //echo time();       //
输出 当前日期 // 调整时区:默认时期是UTC和中国差8小时 PRC 或者Asia/Chongqing date_default_timezone_set("PRC"); echo date("Y-m-d G-i-s"); echo "<br/>".$err_info; #将错误存入系统文件中 error_log("时间是:".date("Y-m-d G-i-s")."-".$err_info."rn",3,"myerror.txt");//3个参数 } set_error_handler("my_error5",E_USER_WARNING); $i=1; if($i<2) { trigger_error("输入的数字过小",E_USER_WARNING); }?>

七、捕获异常

<?php    //处理异常  #注意事项:异常抛出之后,得代码不会被继续执行  #抛出异常之后如果没用处理则会报错  try  {      addUser("1a");  }  catch(Exception $e)  {      echo "失败信息:".$e->getMessage();//getLine()      #可以继续抛出 throw $e;      #也可以顶一个顶级异常处理      # $i=8/0  fopen("a.txt","r") 很难抛出异常  }    function addUser($user)  {      if($user=="a")      {         echo "登陆成功!";      }      else      {         throw new Exception("用户名错误!");      }    }    /*#顶级异常处理  function my_error()  {      echo "我是顶级异常处理!".e->getMeaasge();  }  set_error_handler("my_error");*/?>


相关推荐:

PHP调用ffmpeg对视频截图并拼接脚本

Yii2中的场景(scenario)和验证规则(rule)的详解

MixPHP、Yii和CodeIgniter的并发压力测试的小结

以上就是PHP 基础知识代码总结的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP基础知识代码总结全部内容,希望文章能够帮你解决PHP基础知识代码总结所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部