PHP笔记1.0

概念补缺

DRY原则:don't repeat yourself尽量减少重复。
语法糖(Syntactic sugar),也译为糖衣语法,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

常量

define(name, value); name可以大写可以小写。
1.数据类型:三大类,八种数据类型
---

  1. 标量
    • 整型
    • 浮点型-PHP不区分单双精度类型
    • 字符串-在utf-8字符编码下,一个汉字等于3个字符,关于变量在字符串中解析问题,可以使用{}隔离区分
      字符串操作的一些函数:
      1.1 substr(string,start,end); 截取字符串。
      1.2 strpos(string,要查找的字符串); 查找字符串中第一次出现的位置。
      1.3 strrpos(string,要查找的字符串); 查找字符串最后出现的位置。
      1.4 trim(string,可选参数);取出首位空格或者特殊字符。
      1.5 strtoupper() strtolower() 字符串大小写转换。
      1.6 ucwords(string); 将单词首字母大写。
      1.7 str_replace(search, replace, subject); 替换所匹配的内容。
      1.8 gzcompress(string); 压缩字符串。gzuncompress(string); 解压字符串。
    • boolean
  2. 混合型
    • 数组:键名也称为下标。以整型为下标称为索引数组,以字符串为下标称为关联数组,以整型加字符串为下标称为混合型数组。添加没有下标的值的时候,会由前面的最大下标加1。如果数组层级太多,用var_dump无法正常显示,可以使用
      echo '<pre>'
      print_r()打印显示
      ecoh '</pre>'
      之所以称数组为混合型,因为其值可以为整型,字符串等等混合。
      目前流行的数组定义为$a=[];代替传统的数组$a=array();
      数组中的一些常用函数
      array_push($a, 'hello');//数组后面添加元素
      array_unshift($a, 'nihao');//数组前面添加元素
      array_pop($a);//删除数组最后面的一个元素
      array_shift($a);//删除数组前面的一个元素
      explode(delimiter, string);分割字符串
      implode(glue, pieces);组合字符串
    • 对象
  3. 特殊类型
    • 资源
      $a=fopen('dadada.php', 'w');
      var_dump($a);
      返回的就是一个资源类型

    • 使用var_dump查看空类型的时候,你看到的只有一个null,因为空类型和值都是空
      php中未赋值的变量默认为null;
      unset以后的值都是null;

      类型转换

  4. is_系列
  5. php是弱类型,可以发生自动类型转换

    转译

  6. 可以将特殊字符转换为普通字符,也可以将普通字符转换为特殊字符。

    html中接入一些php写法

    <?php $a=true; ?>
    <?php if($a){?>

    我是真的


    <?php }else{?>

    hello every


    <?php }?>

    <?php if($a):?>

    对的



    错的


    <?php endif;?>

    <?php for($i=0;$i<10;$i++):?>
    <?php echo $i.'
    ';?>
    <?php endfor;?>

    include与include_once的区别

    include引入多少次即显示多少次,include_once引入多少侧次,即显示一次,引入时会检查是否已经引入。

    检测变量是否设置值

    isset()
    作用:判断当前变量是否赋值
  7. 返回值:如果已经赋值,返回true,不管是整型,字符串,都返回true
  8. 如果没有赋值,或者变量不存在,或者变量值为null,返回false
    empty()
    作用,判断当前变量是否为空
  9. 如果没有赋值或者变量不存在返回true
  10. 如果变量赋值,是整型的0字符串的空字符串,浮点0.0,false,还有null(空),空数组。结果为空。
    扩展:布尔类型if(){}中判断语句1和0分别代表了真和假。

    数据验证,快速写接口的一些方法

    // 检查post传过来的数据
    if (filter_has_var(INPUT_POST,'email1')) {
    echo "data found";
    }else{
    echo 'no data';
    }
    //验证是否是邮箱
    if (isset($_POST['email'])) {
    // 验证内容是否是邮箱
    if (filter_input(INPUT_POST, 'email',FILTER_VALIDATE_EMAIL)) {
    echo "邮箱合法";
    }else{
    echo "邮箱不合法";
    }

    }
    FILTER_VALIDATE_BOOLEAN
    FILTER_VALIDATE_EMAIL
    FILTER_VALIDATE_FLOAT
    FILTER_VALIDATE_INT
    FILTER_VALIDATE_IP
    FILTER_VALIDATE_REGEXP
    FILTER_VALIDATE_URL

FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_ENCODED
FILTER_VALIDATE_NUMBER_FLOAT
FILTER_VALIDATE_NUMBER_INT
FILTER_VALIDATE_SPECIAL_CHARS
FILTER_VALIDATE_STRING
FILTER_VALIDATE_URL

session、cookie

$_SESSION用来存储会话,相当于一个中间件,类似于一个u盘,像一个盘子,使用$_SESSION时必须开启session_start()函数。
$COOKIE[]的作用:

  1. 记录访客的某些信息。
  2. 在页面之间传递变量
  3. 将所查看的Internet页存储在Cookie临时文件夹中,可以提高以后浏览的速度。

    函数

  4. 函数中return值了,调用的时候只是返回了一个值,并不能echo到屏幕上,可以使用调用赋给变量,echo变量输出。
  5. 函数名字可以使用字母数字汉字,但是数字不能作为开头。调用时,函数名称不区分大小写。函数调用不分先后,可以在自定义函数以前也可以在函数自定义以后。函数不可以重名。函数体如果读到了return,函数后面的内容将不会再执行了。
  6. 实参是实际调用参数时传入的值。形参是函数传入的形式参数。函数调用时,实参传给形参。实参个数可以大于等于形参。函数func_get_args()在函数内部可以获取传入的实参内容,并返回一个数组。

    面向对象

  7. 类和对象的关系:
    对象:对象是由类实例化而来的
    类:类是由对象抽象总结而来的
    对类实例化对象的时候,new 类()这儿的括号可加可不加。
    写类的时候,可以先写方法,在写方法的时候,看到所需的桥梁,添加变量。

    set()和get()

    <?php
    /**
    • 通过set、get方法将私有变量通过公共方法展现出来
      */
      class People
      {
      private $name;
      public function setName($name){
      $this->name=$name;
      }
      public function getName(){
      return $this->name;
      }
      }
      $people=new People;
      $people->setName('花花');
      $people1=$people->getName();
      echo $people1;
      ?>
      /**
    • __construct没有上面麻烦调用,自动执行,代码简洁
      */
      class Car
      {

      function __construct($car)
      {
      echo $car;
      }
      }
      new Car('bei chi');
      //php采用垃圾回收机制,即使不使用__destruct也会自动回收不用变量
      //关于php中子类调用方式中,$this->方法,如果子类没有则检测父类,如果完全调用父类则使用parent::方法。

猜你喜欢

转载自www.cnblogs.com/h-s-l/p/11256793.html
今日推荐