• php基本语法与函数


    1.标记与注释

    <?php

    代码

    ?>

    用/*  */注释一段代码,  用 // 注释一行代码   /**    */文档注释

    注意:若php下面只有php代码没有别的代码,那么最好不要加 ?>,这样后面的空格会被忽略,以免输出空格或回车,有可能在引用文件时出错。

    指令分隔符“分号”:

    功能执行语句后面必须加分号,例如echo "aaa"; $a = 100;

    结构定义语句后面一定不要加分号,例如:if(true){} function aaa(){} class bbb{}等。

    php中结束标记(?>)前的分号不是必选的。

    2.输出语句

    echo "hello","world";    echo可以输出多个字符串,用逗号隔开

    print "hello";               print只能输出一个字符串

    var_dump();此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

    print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string integerfloat ,将打印变量值本身。如果给出的是 array ,将会按照一定格式显示键和元素。 object 与数组类似。

    记住, print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。 

    3.数据类型

    php是弱类型语言

    可以自动转换数据类型

    php支持八中原始数据类型

    • 四种标量类型:布尔型(boolean)、整型(integer)、浮点型(float)(浮点数,也作double)、字符串(string)
    • 两种复合类型:数组(Array)、对象(Object)
    • 两种特殊类型:资源(Resource)、NULL

    4.变量定义

    php定义变量以$开头

    $a=5;

    $b="hello";

    可变变量:  
    
    $a="hello";
    $hello="world";
    echo $$a;      //输出world
    
    判断变量是否定义:
    $a=3;
    echo isset($a);    //   true返回1, false返回0
    清除变量:
    unset($a);
    判断变量是否为空:
    empty($a)
    变量引用(相当于起了个别名): 取地址
    : & $a=5; $b=&$a; //&取地址,a和b取内存中相同的地址,改变一个,另一个也跟着变 $b=10;
    $c = 20;
    $b = &$c;
    echo $a." ".$b." ".$c; //输出10 20 20 unset($b); //只是取消值关联,引用的变量不会消失 echo $a; //输出10 echo $b;  
    //$b已经消除,输出会报错
    • 只有变量才有地址,也就是只有变量才有引用
    • 一个变量发生变化,另一个变量的值也跟着变化
    • 在使用unset()函数时,如果有引用关系,只是解除了这种引用关系,只删除一个名字,另一个还在
    • 如果两个变量是引用关系,一个变,另一个也变,但是如果给其中一个引用,不是普通的值,而是一个新的引用,则改变引用关系
    5.类型转换
    
    $a=5;
    var_dump($a);      //输出变量详细信息   int 5
    $b=(string)$a;     //类型转换 
    var_dump($b);      //string '5' (length=1)
    
    6.运算符表达式
    
    数学运算符: +  -  *  /  %  ++  --  +=  -=
    
    $a=10;
    $b=3;
    echo $a/$b;       //输出3.33333333333
    
    字符串:拼接字符串用点不是用+
    
    echo "hello"."world";    
    
    比较运算符: <  >  <=  >==  ==  !=
    
    逻辑运算符: and &&  or ||  !
    
    错误控制运算符: @
    
    echo @$a;     //可以屏蔽错误
    
    三元运算符:   ? :
    
    echo true ?"男":"女";

     7.语句

    分支语句
    if
    if...else
    if...else if...else
    if的嵌套
    $a=2;
    switch($a)
    {
        case 1:
            echo "1";    //选中多行语句,按Tab往右移,按Shift+Tab往左移
            break;
        case 2:
            echo "2";    
            break;
        case 3:
            echo "3";    
            break;
        default:
            echo "default";
            break;        
    }
    循环语句
    for($a=1;$a<=10;$a++)
    {
        echo $a."<br>"    ;
    }
    $a=10;
    while ($a>0)
    {
        echo $a."<br>";
        $a--;    
    }
    8.函数
    //函数四要素: 返回类型, 函数名,参数,函数体
    //函数定义方式    
    function show()
    {
        echo "hello";    
    }
    show();    //输出hello    //调用函数
    
    //有返回值的函数
    function show()
    {
        return "aaaa";    
    }
    echo show();
    
    //有参数的函数
    function show($a,$b)
    {
        echo $a+$b;    
    }
    show(3,4,5);     //输出7   //php中可以多写参数
    
    //有默认值的函数
    function show($a=5,$b=5)
    {
        echo $a+$b;    
    }
    show();   //输出10
    show(3);   //输出8   //把$a=5覆盖即$a=3
    show(3,2); //输出5
    
    //参数可变的函数
    function show()
    {
        $attr = func_get_args();   //获取函数的参数    
        $sum=0;
        for($i=0;$i<count($attr);$i++)    //func_num_args()   获取参数的个数
        {
            $sum= $sum+$attr[$i];    
        }
        echo $sum;
    }
    show(1,2);
    show(1,2,3);
    show(1,2,3,4);    //输出10    //参数可以变化
    
    //随机数函数   
    echo rand(0,100);    //100以内的随机整数
    
    //日期时间函数
    date_default_timezone_set('PRC');  //改时区
    echo time();   //取当前日期时间(时间戳)
    echo date("Y-m-d H:i:s:ms",time());  //格式化日期时间
    
    $a=strtotime("2016-5-6");    //将日期时间格式转化为时间戳
    echo date("Y-m-d",$a);       //将时间戳转化为日期时间格式
    
    9.字符串处理函数
    $a="hello";
    echo strlen($a);   //返回字符串长度     ***** 
    strcmp ("hello","aa");   //判断两个字符串是否相等, 相等返回0,不相等返回1  //区分大小写
    echo strcasecmp("aa","Aa");       //判断两个字符串是否相等, 相等返回0,不相等返回1  //不区分大小写 
    
    echo strtolower("HELLO");     //将字符串转换为小写   *****
    echo strtoupper("hello");     //将字符串转换为大写  *****
    
    $str = "hello|world|join|on";
    var_dump(explode("|",$str));       //拆分字符串,返回数组    *****
    $attr =array("aaa","bbb","ccc");
    echo implode("|",$attr);           //将数组拼接为字符串     *****
    
    echo substr_replace($str,"aaa",0,5);   //替换字符串(某个位置(从哪开始,长度))   *****
    
    echo str_replace ("l","a",$str);         //查找替换     *****
    
    echo substr($str,6,5);                                //截取字符串     *****
    
    一些小知识点
    //单引号和双引号都可以定义字符串
    $s="join";
    $a= "hello"{$s}world";    
    $b='hello"{$s}world';            
    //1.双引号里面可以使用转义字符,单引号里面不能使用转义字符
    //2.双引号里面可以解析变量,单引号不行
    echo $a."<br>";
    echo $b;
    
    定义字符串(块)
    //STR为标示名,可以随意写,最好为大写,与结尾标示名必须一致,与三个尖括号之间不能有任何字符
    $str = <<<STR
    <div style=" background-color:red; color:white; 100px; height:30px">hello</div>
    <div style=" background-color:red; color:white; 100px; height:30px">world</div>
    STR;
    echo $str;
  • 相关阅读:
    [Leetcode] Largest Rectangle in Histogram
    [Leetcode] Unique Binary Search Trees II
    [Leetcode] Remove Duplicates from Sorted List II
    [Leetcode] Container With Most Water
    [Leetcode] Trapping Rain Water
    [Jobdu] 题目1390:矩形覆盖
    [Leetcode] Integer to Roman
    [Leetcode] Word Break
    Notes on Convolutional Neural Networks
    lecture5-对象识别与卷积神经网络
  • 原文地址:https://www.cnblogs.com/xinghun/p/5426655.html
Copyright © 2020-2023  润新知