Blogger Information
Blog 22
fans 0
comment 0
visits 13140
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP开发基础-1语法篇
小淇的博客
Original
579 people have browsed it

六、什么是常量?

1、常量的本质:只读变量,一旦定义,不能更新,不能删除

2、常量定义:函数定义(define())和关键字定义(const)

3、作用域:不受作用域影响


(1)常量通常全部用大写字母表示,字母太长用下划线分开,这是行业规则

(2)unset不能销毁常量

(3)常量不受作用域影响

(4)用define和const的区别,一般情况下没有分别:const只允许定义简单变量(整数、浮点、布尔、字符串必须是字面量),define可以这样写

实例

$book = 'PHP从入门到精通';
define('FACTION',$book);

   (5)const可以声明类常量,define不可以

实例

class xujiaqi
{
    const NAME = 'xujiaqi';
//    define('NAME','xujiaqi'); define不能声明类常量
}
echo xujiaqi::NAME;

总结:常量只是一个普通的只读变量,不能更新不能删除不能销毁



-------------------------------------------------------------------------------------------------------------------------------

七、函数分为哪几种?

1、普通函数:也叫标准函数,使用function在全局中声明。

2、匿名函数:将函数定义以值得方式赋值给一个变量,常用作回调或者闭包

3、自调用函数:定义与执行同步完成


2、匿名函数:非常适合用变量引用,匿名函数得本质就是一个值,只不过这个值里面得保存是一个函数得定义

    匿名函数最重要的两个用途:回掉函数,闭包

实例

$mult = function($a,$b){
  return "$a+$b=".($a+$b);
};
echo $mult(2,2);

-------------------------------------------------------------------------------------------------------------------------------

八、函数参数

1、必选参数:调用函数是必须传入参数,且顺序必须相同

2、可选参数:可选参数必须与参数得默认值配合使用

3、无参数:通过系统函数来获取参数,其实参数本质就是一个占位符


-------------------------------------------------------------------------------------------------------------------------------

九、什么是回调函数

    回调函数:简单得说,在一个函数中调用另一个函数

1、支持得函数类型:普通函数,匿名函数

2、执行回调函数:call_user_func() / call_user_func_array()


参数可以是一个函数,可以是一个回调函数:

1、在mian函数中直接调用另一个函数名,这就叫做回调

function bigger($a,$b){
    return 'a和b中较大的值是?'.(($a > $b) ? $a : $b);
}
function main($a){
    return $a(11,12);
}
echo main('bigger');

2、使用匿名函数的方式调用

$bigger = function($a,$b){
    return 'a和b中较大的值是?'.(($a > $b) ? $a : $b);
};
function main1($a){
    return $a(1,2);
}
echo main1($bigger);

3、使用内置方法调用回调函数

(1)call_user_func方法调用函数

$bigg = function($a,$b){
    return 'a和b中较大的值是?'.(($a > $b) ? $a : $b);
};
echo call_user_func($bigg,200,500);

(2)call_user_func_array

$bigg = function ($a,$b){
    return 'a和b中较大的值是?'.(($a > $b) ? $a : $b);
};
echo call_user_func_array($bigg,[30,20]);

-------------------------------------------------------------------------------------------------------------------------------

十、玩转匿名函数与闭包

1、在函数中调用一个匿名函数时

2、当匿名函数当作参数传递给函数时

3、当匿名函数当作函数返回值的时候


匿名函数其实就是一个普通的变量,1.局部变量,2.函数的参数,3.函数返回值

    在PHP里匿名函数就是闭包函数


1、匿名函数当作局部变量来使用

$str1 = function(){
  $name = '张无忌';
//  在函数中声明一个匿名函数
  $str2=function()use($name){
      return $name.'不要我啦!';
  };
//  调用,必须执行一下,才能形成闭包
  return $str2();
};
echo $str1();


2、将闭包函数当作函数参数来使用

必须使用callable限制值,是闭包类型

$name = '无忌哥哥';
$str3=function()use($name){
    return $name.'今晚去哪里开波?';
};
$str4 = function(callable $str3){
    return $str3();
};
echo $str4($str3);

3、将匿名函数当作函数的返回值来使用

$func3返回的是一个匿名函数的定义$test,如果要调用需要在外部多加一个()圆括号

$func3 = function(){
  $name = '我是局部函数返回的字符串';
  $test3 = function()use($name){
      return $name;
  };
  return $test3;
};
//$func3()返回值是一个匿名函数的定义:$test
echo $func3()();

-------------------------------------------------------------------------------------------------------------------------------

十一、PHP中的分支结构有几种?

1、单分支

if(条件){语句}


2、双分支



if(条件){语句1}else{语句2}


3、多分支

if(条件1){语句1}elseif(条件2){语句2}elseif(条件){语句2}...

4、switch多分支结构

switch(条件)
{
    case 条件1:
        语句1;
        break;
    case 条件2:
        语句2;
        break;
    case 条件3:
        语句3;
        break;
        ........
    default:
        语句1;
        break;
}

总结:

    1、双分支可以写成三元元算符:    (条件)?真:假

    2、switch语句常用场景,根据变量的值快速匹配:

实例

$brand = 'MI';
$brand = strtolower($brand);
switch($brand){
    case($brand === 'apple'):
        echo '你个死扑街,买水果9';
        break;
    case($brand === 'huawei'):
        echo '算你有爱国心,买华为';
        break;
    case($brand === 'mi'):
        echo '算你有爱国心,买小米9';
        break;
    case($brand === 'cuizi'):
        echo '你个死扑街,浪费钱买锤子';
        break;
    default:
        echo '傻逼,你选的手机还没研发出来';
}
strtolower()函数:将字符串转换成小写;




Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post