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():返回参数的个数

php整理(一):变量和字符串的更多相关文章

  1. (一)Linux Shell编程——简介、变量、字符串、数组

    1. Shell简介 1.1 Shell出现背景 Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件. 对于图形界面,用户点击某个图标就能启动某个程序:对于命令行,用户输入某个程序的名字( ...

  2. C#中根据变量获取变量名字符串

    /// <summary>         /// 获取当前变量的变量名 字符串         /// 调用:GetVarName(p=>test.str1); 返回 " ...

  3. 小插曲之变量和字符串 - 零基础入门学习Python003

    小插曲之变量和字符串 让编程改变世界 Change the world by program 变量 (此处只是省略N多细节,详细通过视频学习) 变量名就像我们现实社会的名字,把一个值赋值给一个名字时, ...

  4. Python:认识变量和字符串

    几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后 ...

  5. vue—data中变量和字符串拼接

    #变量和字符串的拼接# 写项目中,遇到了这样的一个问题:怎样在一个div里面显示两个data中的数据?我的问题描述清楚了吗?... 看图吧:   这是用户最初的需求~  这是用户后来的需求,嗯……就是 ...

  6. JS中将变量转为字符串

    译者按: 语言的细枝末节了解一下就可以了,不需要太较真,不过如果一点也不知道的话,那就不太妙了. 原文: Converting a value to string in JavaScript 译者:  ...

  7. loadrunner 脚本开发-int型变量和字符串的相互转换

    脚本开发-int型变量和字符串的相互转换 by:授客 QQ:1033553122 字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345&qu ...

  8. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  9. Python入门:认识变量和字符串

    几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后 ...

随机推荐

  1. wap_supplicant介绍

    目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络.请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口. wpa_supplicant是一个较好 ...

  2. SharePoint 101 Code Samples are now available

    The Microsoft Office Developer Center has created 101 code samples for SharePoint 2010. These sample ...

  3. WebAPi性能

    提高WebAPi性能   前言 WebAPi作为接口请求的一种服务,当我们请求该服务时我们目标是需要快速获取该服务的数据响应,这种情况在大型项目中尤为常见,此时迫切需要提高WebAPi的响应机制,当然 ...

  4. UML类图关系大全-转

    1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法. 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来 ...

  5. 2693: jzptab - BZOJ

    Description Input 一个正整数T表示数据组数接下来T行 每行两个正整数 表示N.MOutput T行 每行一个整数 表示第i组数据的结果Sample Input 1 4 5 Sampl ...

  6. Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势

    作者:尤雨溪链接:http://www.zhihu.com/question/31809713/answer/53544875来源:知乎著作权归作者所有,转载请联系作者获得授权.   1. 原生 DO ...

  7. C# \uxxx Unicode编码解码

    /// <summary> /// Unicode编码 /// </summary> /// <param name="str"></pa ...

  8. Machine Learning Done Wrong

    Machine Learning Done Wrong Statistical modeling is a lot like engineering. In engineering, there ar ...

  9. Nagios 安装及微信短信提醒

    引言 Nagios 作为业界非常强大的一款开源监视系统. 监控网络服务(SMTP.POP3.HTTP.NNTP.PING 等): 监控主机资源(处理器负荷.磁盘利用率等): 简单地插件设计使得用户可以 ...

  10. hashtable用法

    import java.util.Hashtable; public class HashTable { public static void main (String[] args) { Hasht ...