0

0

PHP 基础知识代码总结

jacklove

jacklove

发布时间:2018-07-02 11:57:51

|

2198人浏览过

|

来源于php中文网

原创

一、php基础语法 变量到数组

";
       var_dump($a);// 结果为NULL
       echo "hello worrld";*/
       
       /* int型最大能表示多大
        echo "
".PHP_INT_SIZE; echo "
".PHP_INT_MAX;//(2的31次方-1) 31:4*8-1个符号位 $a=-2147483648; echo "
".$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 "
".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)."
"; foreach($arr as $key=>$val) { echo $key."=".$val."
"; } $arr2=array(""=>"32",1=>"fdsf",23,23); echo $arr2[""]."
"; echo $arr2[2]."
"; #使用true作为下标,即是1 ,false :0; null:"" $arr3=array(123.4=>"arr3"); echo $arr3[123]."
"; #显示详细数组信息 print_r($arr3); echo "
"; var_dump($arr3); #数组可以动态增长 $arr4=array(2,3); echo $arr4[1]."
"; $arr4[2]='11 22 333 444'; #echo $arr4[2]; #字符串的拆分 explode $arr=explode(" ",$arr4[2]); print_r($arr); foreach($arr as $key=>$val)# (要循环的数组 as 数组下标变量) { echo "
$key=>$val"; } echo "
".$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);*/ ?>

二、数组

 

PinPHP购物分享系统
PinPHP购物分享系统

PinPHP是一套基于LAMP技术架构(Linux+Apache/Nginx+MySQL+PHP)的、免费的、开源的社会化分享系统!同时PinPHP分享系统V3.0正式版在V2.2正式版的基础上,对“网站架构”、“负载性能”等几大方面,进行了全面升级。注意事项:1、V3.0采用全新的代码结构与数据库结构,不可以进行版本

下载

    
        
    
    
        

同一个界面传输参数

" 仿造百度搜索 */ error_reporting(E_ALL ^ E_NOTICE); $grades=$_REQUEST['grade']; $grade=explode(" ",$grades); $all=0; foreach($grade as $k=>$v) { $all+=$v; } ?>

 三、静态变量

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 "
".Child::$num; //类外只能是 类名::变量, //类内就能两种 ?>

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

立即学习PHP免费学习笔记(深入)”;

/*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 "
".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 " 父类在此!
"; } } class B extends A{} class C extends B{ function F(){ echo "调用了父类了
"; 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."
"; } } $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的值

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

 

 $error 
";//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"; ?>

 六、错误日志

".$err_info;
       
       #将错误存入系统文件中
       error_log("时间是:".date("Y-m-d G-i-s")."-".$err_info."\r\n",3,"myerror.txt");//3个参数
     }
     set_error_handler("my_error5",E_USER_WARNING);
     $i=1;
     if($i<2)
     {
         trigger_error("输入的数字过小",E_USER_WARNING);
     }
?>

 七、捕获异常

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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java多态详细介绍
java多态详细介绍

本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

17

2025.11.27

PHP Yii框架专题
PHP Yii框架专题

本专题专注于PHP主流框架Yii的应用,系统讲解MVC架构、路由机制、数据库操作、表单处理、安全验证与RESTful API 开发等核心内容。通过电商网站、后台管理系统与内容管理平台等实战项目,帮助学员快速掌握Yii框架的开发技巧与实战经验。

81

2025.09.04

抖音网页版入口与视频观看指南 抖音官网视频在线访问
抖音网页版入口与视频观看指南 抖音官网视频在线访问

本专题汇总了抖音网页版的入口链接、官方登录页面以及视频观看入口,帮助用户快速访问抖音网页版,提供免登录访问方式和直接进入视频播放页面的方法,确保顺利浏览和观看抖音视频。

63

2026.02.04

学习通网页版入口与在线学习指南 学习通官网登录与使用方法
学习通网页版入口与在线学习指南 学习通官网登录与使用方法

本专题详细汇总了学习通网页版入口与登录方法,提供学习通官方网页端入口、学生登录平台、网页版使用指南等内容,帮助用户快速稳定地登录学习通官网,顺利进入学习平台,提升学习效率和体验。

9

2026.02.04

Python Web 框架 Django 深度开发
Python Web 框架 Django 深度开发

本专题系统讲解 Python Django 框架的核心功能与进阶开发技巧,包括 Django 项目结构、数据库模型与迁移、视图与模板渲染、表单与认证管理、RESTful API 开发、Django 中间件与缓存优化、部署与性能调优。通过实战案例,帮助学习者掌握 使用 Django 快速构建功能全面的 Web 应用与全栈开发能力。

9

2026.02.04

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

3

2026.02.04

Golang 容器化与 Docker 实战
Golang 容器化与 Docker 实战

本专题深入讲解 Golang 应用的容器化与 Docker 部署,涵盖 Docker 基础概念、容器构建与镜像管理、Go 应用的 Dockerfile 编写、跨平台容器部署与优化、Docker Compose 和 Kubernetes 部署工具。通过实际案例,帮助学习者掌握 如何将 Golang 应用容器化并实现高效部署与管理,提升系统的可扩展性与运维效率。

3

2026.02.04

全国统一发票查询平台入口合集
全国统一发票查询平台入口合集

本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

59

2026.02.03

短剧入口地址汇总
短剧入口地址汇总

本专题整合了短剧app推荐平台,阅读专题下面的文章了解更多详细入口。

110

2026.02.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 11万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号