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);//bcPHP中的正则表达式:
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整理(一):变量和字符串的更多相关文章
- (一)Linux Shell编程——简介、变量、字符串、数组
1. Shell简介 1.1 Shell出现背景 Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件. 对于图形界面,用户点击某个图标就能启动某个程序:对于命令行,用户输入某个程序的名字( ...
- C#中根据变量获取变量名字符串
/// <summary> /// 获取当前变量的变量名 字符串 /// 调用:GetVarName(p=>test.str1); 返回 " ...
- 小插曲之变量和字符串 - 零基础入门学习Python003
小插曲之变量和字符串 让编程改变世界 Change the world by program 变量 (此处只是省略N多细节,详细通过视频学习) 变量名就像我们现实社会的名字,把一个值赋值给一个名字时, ...
- Python:认识变量和字符串
几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后 ...
- vue—data中变量和字符串拼接
#变量和字符串的拼接# 写项目中,遇到了这样的一个问题:怎样在一个div里面显示两个data中的数据?我的问题描述清楚了吗?... 看图吧: 这是用户最初的需求~ 这是用户后来的需求,嗯……就是 ...
- JS中将变量转为字符串
译者按: 语言的细枝末节了解一下就可以了,不需要太较真,不过如果一点也不知道的话,那就不太妙了. 原文: Converting a value to string in JavaScript 译者: ...
- loadrunner 脚本开发-int型变量和字符串的相互转换
脚本开发-int型变量和字符串的相互转换 by:授客 QQ:1033553122 字符串转化为int型变量 Action2() { int j = 0; j = atoi("12345&qu ...
- 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 ...
- Python入门:认识变量和字符串
几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后 ...
随机推荐
- andriod Kernel configuration is invalid
error: ERROR: Kernel configuration is invalid. include/generated/autoconf.h or include/conf ...
- cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient
1.CCLayerColor是专门用来处理背景颜色的图层,它继承自CCLayer,可以用来设置图层的背景颜色,因为CCLayer默认是透明色的,即无颜色的 2.CCLayerGradient是用来显示 ...
- 回溯(su)算法之N皇后问题
这里回溯算法还要好好研究一下 试探一个位置是否有效,如果有效,试探下一个位置(DFS),如果无效则回退 1.定义一个解空间,存放一个解的空间 2.DFS(暂且认为是DFS) 这里N皇后用的是递归+回溯 ...
- Careercup - Facebook面试题 - 5188884744896512
2014-05-02 07:18 题目链接 原题: boolean isBST(const Node* node) { // return true iff the tree with root 'n ...
- android 开发 实现自动安装
场景:实现自动安装apk程序 注意:不能使用 intent.setDataAndType(Uri.parse(apkPath), "application/vnd.android.pack ...
- 1231: [Usaco2008 Nov]mixup2 混乱的奶牛 - BZOJ
Description 混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S ...
- HTML特殊转义字符对照表
字符 十进制 转义字符 字符 十进制 转义字符 字符 十进制 转义字符 ? ¡ ¡ Á Á Á á á á ¢ ¢ ¢ Â Â ˆ â â £ £ £ Ã Ã Ã ã ã ã ¤ ¤ ¤ Ä Ä &a ...
- 【娱乐】高端小游戏Manufactoria
Manufactoria 是一款游戏.游戏中,一家生产机器人的工厂内部出了一 些问题,生产出来的机器人有很多不合格的.一个机器人可以用一个含有红色和 蓝色的颜色串来描述,只有颜色串符合某种规律的机器人 ...
- 项目中libevent几个问题
几个问题: .libevent到底用的是select还是iocp,然后是如何突破64限制的 typedef struct fd_set { u_int fd_count; /* how many ar ...
- PHP之session相关实例教程与经典代码
·php 中cookie和session的用法比较 ·phpmyadmin报错:Cannot start session without errors问题 ·php中cookie与session应用学 ...