zoukankan      html  css  js  c++  java
  • PHP学习笔记_03_基础入门

    PHP结构控制

    流程控制

     条件判断语句

     循环控制语句

    这里说明一下foreach()语句

    foreach (array_expression as $value)

            statement

    这是可以直接拿到值的语句

    foreach (array_expression as $key => $value)

            statement

    在遍历的时候 都是可以拿到的

     

     跳转语句

    上面基本上与类C语言一致

     多了一个终止语句 exit()l

    void exit([string message]);  #语句后的内容不会被执行

     

    PHP EOF(heredoc) 使用说明

      作用输出大文本 使用定界符  <<<

     

      

      1.PHP 定界符 EOF 的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;

      2.PHP 定界符 EOF 中的任何特殊字符都不需要转义;

      3.PHP 定界符 EOF

    PHP String

    PHP 并置运算符

     java中使用+连接字符串 ,而php使用 . 连接字符串

    echo $txt1 . " " . $txt2; 

    可以在字符串中使用转义序列进行替换

    常用字符函数:

      strlen (string $string) {}   //求长度  核心库中

     function strcmp (string $str1, string $str2) {}  //比较字符串

     function mb_strlen (string $str, string $encoding = null) {} //指定编码长度

               echo mb_strlen("中文字符",'utf-8');  // 输出 4

     function strpos (string $haystack, $needle, int $offset = null) {} //搜索字符串是否存在 第三个参数为偏移量

    php数组

    定义:

    一般情况下数组可以分为一维数组,二维数组,多维数组;

    php中这些又分为:

     数字索引数组; //也就是C中普通数组的定义方式

     关联数组;   //类似于C Cpp中的map 定义方式并且键值对是不需要连续的额,在数字索引数组下 默认是连续的

    数组索引数组:

    $numbers = array(1, 2, 3, 4,5);

    //sizeof == count

    for ($i=0;$i<sizeof($numbers);$i++){

        echo $numbers[$i]." ";

    }

    //改变值

    $numbers[0] = "one";

    $numbers[1] = "two";

    $numbers[2] = "three";

    $numbers[3] = "four";

    $numbers[4] = "five";

    echo " ";

    foreach ($numbers as $k){

        echo $k." ";

    }

    关联数组: 关联数组中的键是mixed类型

    $salaries = array(

        "mohammad" => 2000,

        "qadir" => 1000,

        "zara" => 500

    );

    print_r($salaries);

    //证明点  由于存在关联 所以可以自己定义 起始键

    $arr=array("2"=>"a","4"=>"b");

            print_r($arr);

    多维数组:

    code

    $str = array (

        "PHP类图书"=>array ("PHP从入门到放弃","PHP典型模块","PHP标准教程"),

        "JAVA类图书"=>array ("a"=>"JAVA范例手册","b"=>"JAVA WEB范例宝典"),

        "ASP类图书"=>array ("ASP从入门到放弃",2=>"ASP范例宝典","ASP典型模块")

    );

    print_r($str);

    out

    Array

    (

        [PHP类图书] => Array

            (

                [0] => PHP从入门到放弃

                [1] => PHP典型模块

                [2] => PHP标准教程

            )

    第三种遍历数组办法:list()拿到键值   each 拿到指针  while)()

    这里同样举例遍历上面那个二维数组。

    while (list($key,$value)=each($str)) {

        while(list($key,$value2)=each($value)){

            echo $key."->".$value2;

        }

        echo " ";

    }

    out

    0->PHP从入门到放弃1->PHP典型模块2->PHP标准教程

    a->JAVA范例手册b->JAVA WEB范例宝典

    0->ASP从入门到放弃2->ASP范例宝典3->ASP典型模块

    输出数组

    前面用到print_r() 来打印数组  ,print_r()打印数组仅仅是打印数组中内容,

    实现输出数组中包含更多的信息,可以使用 var_dump()函数

    常用函数

     创建数组

    function range ($start, $end, $step = null) {}  

      # 创建数组 无论数字还是字母 只以开头为准

        # 创建数组

        $a=range("1", "26");

        $b=range("a", "z");

        print_r($b);

        #合并数组 以键值对打包

        $k=array(1,2);

        $v=array("php","jsp");

        $res=array_combine($k, $v);

        print_r($res);

        #创建指定范围数组

        $z=array_fill(1, 5, "a");

        print_r($z);

        #填充满足范围的数组

        $res2=array_pad($k, 5, "a");

        print_r($res2);

        #分割函数

        $res3="java@cpp@c@jsp@asp";

        $res4=explode("@", $res3);

        print_r($res4);

     统计函数

        # 次数

        echo " ".count($res4);

        # 最大值小值

        $arr1=range(1, 100);

        $max1=max($arr1);

        $min1=min($arr1);

        echo " "."$max1"." "."$min1";

        # 求和

        echo " ".array_sum($arr1);

        # 出现次数

        $x=array("a","b","c","b");

        print_r(array_count_values($x));

     指针函数

    # 当前指键

        print_r(key($x));

        echo "->";

        # 当前指值

        print_r(current($x));

        # 下一个

        print_r(next($x));

        echo " ";

        # 末尾

        print_r(end($x));

        # 上一个

        print_r(prev($x));

        # 回到头指针

        print_r(reset($x));

        

     数组和变量之间的转换

     # 转为变量

        $res5=array("name"=>"张三","age"=>24);

        extract($res5);

        print " ";

        print $name; print $age;

        # 打包为数组 有时会写错 为不要$的变量名字

        $name1="李四";

        $age=25;

        print_r(compact("name1","age"));

     交换函数

     array_keys()函数      拿到所有键

     array_values()函数 拿到所有值

     in_array()函数   是否存在于其中

     array_search()函数     数组搜索函数

     array_key_exists()函数   键是否存在

     array_unique()函数    数组去重

     排序函数

    下面是排序的第三个参数需要理解的

    * SORT_REGULAR - compare items normally

     * (don't change types)

     * <br>

     * SORT_NUMERIC - compare items numerically

     * <br>

     * SORT_STRING - compare items as strings

     * <br>

     * SORT_LOCALE_STRING - compare items as

    # 随机数据测试

           $array=array();

           for($i=a;$i<z;$i++){

               $array[$i]=rand(10,1000);

           }

           # 生成新的数字索引数组

           echo sizeof($array);

           sort($array);// 1为执行成功

           print_r($array);

           # 重新赋值 //必须设置null

           $array=null;

           for($i='A';$i<'Z';$i++){

               $array["$i"]=rand(10,1000);

           }

           asort($array);

           print_r($array);

     rsort()arsort()函数  前面一样反向

     ksort()krsort()函数  根据键值排序

     natsort()natcasesort()函数  按照自然排序 第二个忽略大小写

     shuffle()函数   打乱函数

     array_reverse()函数  数组反向函数

     数据结构函数

     # 末尾添加一个元素

           $array=array();

           for($i=0;$i<10;$i++){

               array_push($array, "$i");

           }

           # 末尾移除一个元素

           array_push($array);

           # stack头删除元素

           array_shift($array);

           # 头插入一个元素

           array_unshift($array, "ss");

     集合函数

     $a=array(1,2,3,4,5);

            $b=array("a","b","c","d",1);

            // 合并

            print_r(array_merge($a,$b));

            // 差集

            print_r(array_diff($a,$b));

            //带索引的差集

            print_r(array_diff_assoc($a,$b));

     array_diff_key()

     array_intersect()函数

     array_intersect_assoc()函数

     array_intersect_key()函数

  • 相关阅读:
    Spring Boot mybatis-starter介绍
    Spring Boot starter原理
    Spring Boot starter介绍以及自定义starter
    Spring Boot conditional注解介绍
    Spring Boot 配置类3-流程核心方法doProcessConfigurationClass
    Spring Boot 配置类2-解析逻辑(processConfigBeanDefinitions方法中的循环体)
    Ubuntu14.04下安装docker
    ubuntu安装docker
    Spring Cloud 统一配置
    第四章 springboot + swagger
  • 原文地址:https://www.cnblogs.com/dgwblog/p/9048831.html
Copyright © 2011-2022 走看看