zoukankan      html  css  js  c++  java
  • php基本语法

    变量

    一、组成
    ①变量名 ②变量值 ③变量类型
    二、赋值
    a.传值赋值 $a = 3 $b = 5 $a = $b
    b.引用赋值 $a = 3 $b = 5 $a = $$b;
    c.引用计数赋值 $a = new man(); $b = $a;

    注意:区分大小写

    三、8种变量类型
    整形(100)
    浮点型(45.20)
    字符串('hello world')
    布尔型(true/false)
    null型(null)
    数组(array)
    对象(object)
    资源型(resource)

    常量

    一、应用常量的原因
    1:一处定义,随处调用.
    2:一旦定义,不能改变
    3:一处修改,所有修改.
    二、常量的命名规则
    命名: 与变量相同的命名规则
    方法: define()函数
    格式: define('常量名','具体值');
    例子: define('PI',3.14);


    常量与变量的比较
    相同:
    1:命名规则相同(但一般为大写)
    不同:
    1:引用常量时不用$,直接用名称.
    2:常量只能用define定义,不能用赋值语句
    3:常量一旦定义就不能重新定义或取消定义
    4:常量的值只能是标量.
    运算符
    赋值运算符
    算术运算符
    递增运算符
    逻辑运算符
    比较运算符
    字符串运算符
    位运算符

    流程控制

    顺序语句(按顺序,一句一句来执行;)
    分支语句
    if, if/else ,if/else if/.../if,switch
    循环语句
    while,do/while,for

    ①单路分支结构 --if
    if(exp) {
    语句1;
    语句2;
    语句....N;
    }
    解释:如果表达式exp为真,则{}内的代码块,则执行,
    如果为假,则不执行
    ②双路分支结构 --if /else
    if(exp) {
    代码段1;
    } else {
    代码段2;
    }
    解释:
    如果 exp为真,执行代码段1
    否则, 执行代码段2
    注意:代码段1,代码段2必有且只有一段执行
    ③多路分支结构 --if/else if/else
    if(exp1) {
    代码段1;
    } else if(exp2){
    代码段2;
    } else if(exp3){
    代码段3;
    } else {
    代码段N;
    }


    如果exp1为真,则执行代码段1
    如果exp2为真,则执行代码段2
    .....
    ...

    如果都不满足,执行代码段N

    if/else if的短路特性:
    任一个
    ④多路分支结构 --switch
    switch(变量) {
    case 值1:
    代码段1;
    break;

    case 值2
    代码段2;
    break;

    case 值3:
    代码段3;
    break;
    }

    如果等于 值1
    执行代码段1;
    退出;

    如果等于 值2
    执行代码段1;
    退出;


    如果等于 值3
    执行代码段3;
    退出;
    ⑤循环结构-- while循环
    while(exp) {
    代码段;
    }

    如果exp为假, while结束;
    如果为exp真,执行循环体中的代码段;
    再回到while判断

    while循环的特点
    特点:先判断表达式,后执行循环体
    说明:
       1、循环体有可能一次也不执行
       2、循环体可为任意类型语句
       3、下列情况,退出while循环:
        ●条件表达式不成立(为false)
        ●循环体内遇break,goto
    4、无限循环: while(1)
      循环体;
    ⑥do-while循环的特点
    do {
    代码段;
    }while(exp);

    执行循环体中的代码段;
    再回到while判断

    如果exp为假, while结束;
    如果为exp真,

    循环体至少执行一次
    ⑦for循环
    for(exp1;exp2;exp3) {
    循环体
    }

    先执行且只执行一次exp1,
    再判断exp2是否为真,
    如果为真则执行循环体.
    执行循环体后,执行exp3;
    再回到exp2
    ⑧控制结构之if/elseif/else

    函数学习

    函数概念
    函数封装与重用
    函数的定义格式
    函数的返回值
    函数的命名规范
    参数的传值方式
    变量函数
    函数及函数中变量的作用域
    PHP自带函数
    ①函数的概念 --程序角度
    函数是有特定功能的代码段.

    可以把某些常用而特定的功能写一个函数,
    再想实现这个功能时,可能调用这个函数来达到.

    从而达到重用代码和简化开发的目的.
    ②函数的调用
    函数不会自己发挥作用,
    只有在调用的时候才能运行

    调用语法:
    函数名([arg][,arg2]..[,arg3])
    ③函数的声明
    function 函数名 ([arg1][,arg2][,arg3]...[,arg4]) {
    代码段
    return 返回值;
    }
    ④函数的返回值
    函数可以没有返回值,
    也可以有一个返回值
    不可能有多个返回值
    ⑤函数的执行权与交回
    函数被调用时,
    PHP解释器执行权进入到函数内部.
    两种情况下,执行权交回
    1:函数执行到最后一行
    2:函数遇到return返回;
    ⑥函数之函数的命名规范
    函数名命名与变量,常量命名规范相同.
    函数名不区分大小写。
    函数名必须是唯一的,即函数名不能和已经存在的函数重名。
    ⑦函数之函数的传值方法
    function s($a,$b) {
    $a *= 2;
    $b *= 2;
    Return $a+$b;
    }
    $a = 3; $b = 5;
    Echo s($a,$b)." ";
    Echo $a." ".$b;

    function s($a,&$b) {
    $a *= 2;
    $b *= 2;
    Return $a+$b;
    }
    $a = 3; $b = 5;
    Echo s($a,$b)." ";
    Echo $a." ".$b;

    字符串

    定义字符串的3种方法
    单/双引号的用法
    单双引号转义的不同
    单双引号对变量解析的不同
    如何选择单双引号
    字符串常用函数分类
    ①定义字符串的3种方法
    1:单引号;(高效)
    2;双引号;(简便)
    3:定界符;(自己看)
    ②单双引号的用法
    $a = '眼高手低,永无所成';
    echo $a;
    $a = '情侣手表,一'戴'天娇';
    echo $a; // 想想问题出在哪儿?

    $a = "眼高手低,永无所成";
    echo $a;
    $a = "情侣手表,一"戴"天娇";
    echo $a; // 想想问题出在哪儿?
    ③单/双引号转义的不同
    ④字符串常用函数分类
    字符长度函数(int strlen($str) 计算字符长度
    int mb_strlen ( string $str [, string $encoding ] )

    查找字符位置函数:
    strpos($str,search,[int]):查找search在$str 中的第一次位置从int开始;
    stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感
    strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int

    字符串替换函数
    str_replace(search,replace,$str):从$str中查找 search用replace来替换
    str_irreplace(search,replace,$str):
    strtr($str,search,replace):这个函数中replace不能为"";
    substr_replace($Str,$rep,$start[,length])$str原始字符串,$rep替换后的新
    字符串,$start起始位置,$length替换的长度,该项可选

    提取子字符函数(双字节)
    substr($str,int start[,int length]):从$str中strat位置开始提取[length长度的字符串]。
    strstr($str1,$str2): 从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。
    stristr() 功能同strstr,只是不区分大小写。
    strrchr() 从最后一次搜索到的字符处返回;

    分割,连接,反转函数
    str_split($str,len):把$str按len长度进行分割返回数组
    split(search,$str[,int]): 把$str按search字符进行分割返回数组int是分割几次,后面的将不分割
    explode(search,$str[,int])
    implode —— 将数组用特定的分割符转变为字符串

    去除,增加空格函数
    string trim ( string $str [, string $charlist ] )
    string ltrim ( string $str [, string $charlist ] )
    string rtrim ( string $str [, string $charlist ] )
    chunk_split($str,2);向$str字符里面按2个字符就加入一个空格;
    str_pad —— 对字符串进行两侧的补白

    HTML代码/数据库安全处理有关函数
    addslashes ( string $str )
    stripslashes ( string $str )
    get_magic_quotes_gpc()
    htmlspecialchars —— 将字符串中一些字符转换为HTML实体
    htmlspecialchars_decode —— htmlspecialchars()函数的反函数,将HTML实体转换为字符
    html_entity_decode —— htmlentities ()函数的反函数,将HTML实体转换为字符
    htmlentities —— 将字符串中所有可转换字符转换为HTML实体

    比较字符函数
    int strcmp($str1,$str2):(字符串比较)
    strcasecmp() 同上(不分大小写)

    字符大小写转换函数
    strtolower($str) 字符串转换为小写
    strtoupper($str) 字符串转换为大写
    ucfirst($str) 将字符串的第一个字符转换为大写
    ucwords($str) 将每个单词的首字母转换为大写

    数组的学习内容

    数组的数据特点
    数组的创建
    键值的特点
    数组的修改与删除
    数组遍历与常用函数
    ①数组的数据特点
    学号:234, php $stu1_num = 234;
    姓名:李三, php $stu_name = '李三';
    身高:174, php $stu_heiht = 174;
    年级:高二, php $stu_grade = '高二';
    家乡:衡水, php $stu_address = '衡水';
    ②创建数组的步骤
    1:创建柜子;
    2:给柜子标号(键值),
    3:往柜子里放数据
    ------------PHP代码--------------
    $stu['学号'] = 234;
    $stu['姓名'] = '李三';
    $stu['身高'] = 174;
    $stu['年级'] = '高二';
    $stu['家乡'] = '衡水';
    ③创建数组的另外一种方式
    array结构来创建(更简便)
    $stu1 = array('学号'=>234,'姓名'=>'李三','身高'=>174,'年级'=>'高二','家乡'=>'衡水');
    注意:此时$stu1后面没有[]
    ④创建数组的两种方法总结
    初始化创建数组
    $数组名称[键值1]=值1;
    $数组名称[键值2]=值2;
    ……

    使用array结构创建数组
    $数组名称=array(
    键值1=>值1,
    键值2=>值2,
    ……

    ⑤懒人创建的数组
    $stu[] = 234;
    $stu[] = '李三';
    $stu[] = 174;
    $stu[] = '高二';
    $stu[] = '衡水';
    ⑥结构化创建数组(完成懒人的效果)
    $stu = array(234,'李三',174,'高二','衡水');
    $stu = array('学号'=>234,'姓名'=>'李三',174,'年级'=>'高二','衡水');
    ⑦键值的总结
    0:键可以是字符串,也可以是整型
    1:键如果指定,则以指定为准.
    2:如果后续指定的键与前面的键重复,则值会覆盖前面值.
    3:键如果没指定,则按该单元前已存在的最大的整数键值增1,形成整型键值.
    ⑧数组单元的追加/修改与删除
    追加单元 $stu['专业'] = '广告';
    修改 用键值指定某一具体单元,直接赋新值. $stu['年级'] = '高三';
    删除:unset函数 unset($stu['家乡']);
    ⑨数组的分类
    根据数组键名数据类型的不同进行分类
    索引数组
    以数字作为键名的数组。
    关联数组
    以数字、字符串或字符串混合为键名的数组
    根据数组维数的不同进行分类
    一维数组
    只能保存一列数据内容。
    多维数组
    可以保存较复杂的数据内容。
    ⑩数组的常用函数
    Count()
    array_key_exists()
    array_change_key_case();nk();
    array_count_values();
    array_fill();
    array_filter();
    array_flip();
    array_sum();
    array_values()
    array_keys()
    in_array()
    array_push()
    array_pop()
    array_shift()
    array_unshift()
    Sort(),Resort(),Usort(),asort(),
    ksort(),natsort(),natcasesort()
    array_merge()
    array_merge_recursive()
    array_diff()
    array_diff_assoc()
    array_intersect()
    array_intersect_assoc()
    Range()
    array_unique()
    array_reverse()
    Srand()
    array_rand()
    shuffle()
    十一数组的循环
    foreach循环结构
    foreach( $array as $key=>$value ){
    遍历操作;
    }[code]

    for循环结构
    for( $i=0; $i<条件; $i++ ){
    遍历操作;
    }[code]

    list操作 each函数
    10。2013-8-13 list与each配合遍历数组
    $stu = array('学号'=>234,'姓名'=>'李三','身高'=>174,'年级'=>'高二','家乡'=>'衡水');
    while(list($key,$value)=each($stu)) {
    Echo $key.”=>”.$value.” ”;
    }
    11 数组的游标操作
    Next(); prev(),end(),reset();
    key(),current()

  • 相关阅读:
    问题汇总
    Spring boot开发过程遇到的一些小问题
    Java 7 新特性
    I2C总线协议详解
    画布分割算法
    nordic __noinit__变量使用
    RTOS事件组使用流程
    RTOS软件定时器的使用
    RTOS互斥信号量的使用流程
    RTOS优先级翻转
  • 原文地址:https://www.cnblogs.com/suihui/p/3254890.html
Copyright © 2011-2022 走看看