zoukankan      html  css  js  c++  java
  • php整理(一):变量和字符串

    PHP中的变量:

    1. 定义:$符号来定义变量

    2. 说明:

    (1)PHP弱语言,定义变量的时候不用声明类型,但是并不代表PHP没有数据类型

    (2)变量名是区分大小写的,只能是数字,字母或者下划线

    (3)变量默认是传值赋值,这就意味着,赋值之后两个变量完全独立

    $a = "string";
    
    $b = $a;
    
    就把值传递过去了,$a和$b之间不会有任何影响

      (4)PHP还提供了另一种赋值方法----引用赋值,此时传递的是地址

    复制代码
    <?php
    
    $foo  =  'Bob' ;               // 将 'Bob' 赋给 $foo
    $bar  = & $foo ;               // 通过 $bar 引用 $foo
    $bar  =  "My name is  $bar " ;   // 修改 $bar 变量
    echo  $bar ;
    echo  $foo ;                  // $foo 的值也被修改
    
    ?>
    复制代码

      (5)globle $a;用来定义全局变量,在函数体使用(函数体内不会默认调用全局变量)

    PHP中字符串:

      1.定义:双引号(“”)和单引号(‘’)来定义字符串

      “String”(双引号):

    (1) PHP 将对一些特殊的字符(转义字符)进行解析

    (2)字符串形式的变量也会被解析

    $str = 1;
    echo "这是{$str}个字符串";

    结果:

    这是1个字符串

    'String'(单引号):

    只是简单字符串没有相应的解析能力

      2.常用的方法

    (1) 字符串长度 : strlen(string);

    $str="I am a string";
    echo strlen($str);

    运行结果:

      13

    (2) 比较字符串 : strcmp(string1,string2)----区分大小写,返回0(相同)和1(不相同); strcasecmp(string1,string2);----不区分大小写,返回0(相同)和1(不相同)

    复制代码
    $str="I am a string";
    $str_1="I am a String";
    echo strcmp($str, $str_1);//区分大小写
    echo "<br/>";
    echo strcasecmp($str, $str_1);//不区分大小写
    运行结果:
      1(不同)
      0(相同)
    复制代码

    (3) 转换大小写: strtolower(string);----转小写;strtoupper(string);----转大写;

    1 $str="I am a string";
    2 $str_1="I am a String";
    3 echo strtolower($str);
    4 echo "<br/>";
    5 echo strtoupper($str_1);

     拆分和合并字符串 explode(delimiter,string[,limit]);implode([glue,]array);

    1 $str="I am a string";
    2 $arr=explode(" ",$str);
    3 print_r($arr);
    4 echo "<br/>";
    5 echo implode(" ", $arr);

    运行结果:

      Array ( [0] => I [1] => am [2] => a [3] => string ) 
      I am a string

    (4) 截取替换substr_replace(string,replacement,start_index[,length]);

    如果replacement是个空字符串,则有替换的意思.通过开始位置和长度可以做到精确的控制;当然要是replacement不是空字符串,就是替换了

    复制代码
    1 $str="I am a string";
    2 echo $str;
    3 echo "<br/>";
    4 echo substr_replace($str, "#",3);//替换了从3开始到最后的字符
    5 echo "<br/>";
    6 echo substr_replace($str, "#",3,5);//替换了从3(包括3)5个长度的字符串
    7 echo "<br/>";
    8 echo substr_replace($str, "",0,7);//截取了string字符串
    复制代码

    运行结果:

    I am a string
    I a#
    I a#tring
    string

    (5) 查找替换数组和字符串str_replace(search,replacement,string[,$count]);$count返回替换的次数

    复制代码
     1 // 赋值: body text='black'
     2 $bodytag  =  str_replace ( "%body%" ,  "black" ,  "body1 text='%body%'" );
     3 echo $bodytag;
     4 echo "<br/>";
     5 
     6 // 赋值: Hll Wrld f PHP
     7 $vowels  = array( "a" ,  "e" ,  "i" ,  "o" ,  "u" ,  "A" ,  "E" ,  "I" ,  "O" ,  "U" );
     8 $onlyconsonants  =  str_replace ( $vowels ,  "" ,  "Hello World of PHP" );
     9 echo $onlyconsonants;
    10 echo "<br/>";
    11 
    12 // 赋值: You should eat pizza, beer, and ice cream every day
    13 $phrase   =  "You should eat fruits, vegetables, and fiber every day." ;
    14 $healthy  = array( "fruits" ,  "vegetables" ,  "fiber" );
    15 $yummy    = array( "pizza" ,  "beer" ,  "ice cream" );
    16 
    17 $newphrase  =  str_replace ( $healthy ,  $yummy ,  $phrase );
    18 echo $newphrase;
    19 echo "<br/>";
    20 
    21 // 赋值: 2
    22 $str  =  str_replace ( "ll" ,  "" ,  "good golly miss molly!" ,  $count );
    23 echo  $count ;
    复制代码

    (6) 截取substr(string,start_index[,length]);strat_index和length都可以是负值,从相反的方向搜索

    复制代码
     1 echo substr("abcdef", -1);//包括start_index的位置
     2 echo "<br/>";
     3 echo substr("abcdef", 5);
     4 echo "<br/>";
     5 echo substr("abcdef", 2);
     6 echo "<br/>";
     7 echo substr("abcde",1,4);//length长度,当是正值的时候
     8 echo "<br/>";
     9 echo substr("abcde",0,-1);//abcde,从字符串的末尾开始数1的位置结束
    10 echo "<br/>";
    11 echo substr("abcde",1,-2);//bc
    复制代码

     PHP中的正则表达式:

     1.定义://

     2.方法:

       int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )----替换符合条件的,默认是全局的,可以用limit来限制次数

    preg_match() 返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为 preg_match() 在第一次匹配后 将会停止搜索。preg_match_all() 不同于此,它会一直搜索subject 直到到达结尾。

    1 echo preg_replace($pattern,"#",$str);
    2 echo "<br/>";
    3 echo preg_replace($pattern,"#",$str,1,$c);
    4 echo "<br/>";

     结果:

    # ## # ######!
    # am a String!

         preg_split(preg,string);----按preg分割,返回数组

    1 $str="I am a String!";
    2 $pattern="//";
    3 print_r(preg_split($pattern,$str));

    结果:

    Array ( [0] => [1] => I [2] => [3] => a [4] => m [5] => [6] => a [7] => [8] => S [9] => t [10] => r [11] => i [12] => n [13] => g [14] => ! [15] => )

       mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

       array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

          返回给定数组input中与模式pattern 匹配的元素组成的数组.

    PHP中的函数:

       定义: function name(){};

      注意: 返回值和参数

          参数:可多,不可少

       func_get_args():返回一个数组,包含所有的参数

      func_num_args():返回参数的个数

  • 相关阅读:
    centos7 docker安装awvs
    screen命令简介-实现linux多窗口
    linux命令重命名
    iptables防止nmap扫描
    cobal strike could not start listener address already in use (bind failed)
    docker简介及安装
    「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver
    「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐
    「PowerBI」分析服务多维数据结构重回关系数据库的一大绝招
    「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)
  • 原文地址:https://www.cnblogs.com/hellodp/p/5437929.html
Copyright © 2011-2022 走看看