PHP学习(一)----变量及字符串
2016-03-18 17:04
459 查看
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);----转大写;
$str="I am a string"; $str_1="I am a String"; echo strtolower($str); echo "<br/>"; echo strtoupper($str_1);
拆分和合并字符串 explode(delimiter,string[,limit]);implode([glue,]array);
$str="I am a string"; $arr=explode(" ",$str); print_r($arr); echo "<br/>"; 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不是空字符串,就是替换了
$str="I am a string"; echo $str; echo "<br/>"; echo substr_replace($str, "#",3);//替换了从3开始到最后的字符 echo "<br/>"; echo substr_replace($str, "#",3,5);//替换了从3(包括3)5个长度的字符串 echo "<br/>"; 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返回替换的次数
// 赋值: body text='black' $bodytag = str_replace ( "%body%" , "black" , "body1 text='%body%'" ); echo $bodytag; echo "<br/>"; // 赋值: Hll Wrld f PHP $vowels = array( "a" , "e" , "i" , "o" , "u" , "A" , "E" , "I" , "O" , "U" ); $onlyconsonants = str_replace ( $vowels , "" , "Hello World of PHP" ); echo $onlyconsonants; echo "<br/>"; // 赋值: You should eat pizza, beer, and ice cream every day $phrase = "You should eat fruits, vegetables, and fiber every day." ; $healthy = array( "fruits" , "vegetables" , "fiber" ); $yummy = array( "pizza" , "beer" , "ice cream" ); $newphrase = str_replace ( $healthy , $yummy , $phrase ); echo $newphrase; echo "<br/>"; // 赋值: 2 $str = str_replace ( "ll" , "" , "good golly miss molly!" , $count ); echo $count ;
(6) 截取substr(string,start_index[,length]);strat_index和length都可以是负值,从相反的方向搜索
echo substr("abcdef", -1);//包括start_index的位置 echo "<br/>"; echo substr("abcdef", 5); echo "<br/>"; echo substr("abcdef", 2); echo "<br/>"; echo substr("abcde",1,4);//length长度,当是正值的时候 echo "<br/>"; echo substr("abcde",0,-1);//abcde,从字符串的末尾开始数1的位置结束 echo "<br/>"; 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直到到达结尾。
echo preg_replace($pattern,"#",$str); echo "<br/>"; echo preg_replace($pattern,"#",$str,1,$c); echo "<br/>";
结果:
# ## # ######!
# am a String!
preg_split(preg,string);----按preg分割,返回数组
$str="I am a String!"; $pattern="//"; 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匹配的元素组成的数组.
[b]PHP中的函数:[/b]
定义: function name(){};
注意: 返回值和参数
参数:可多,不可少
func_get_args():返回一个数组,包含所有的参数
func_num_args():返回参数的个数
相关文章推荐
- 2016/3/18 ①PHP基础 ② PHP函数 ③其他函数(随机数、关于日期) ④正则表达式 ⑤字符串处理
- Yii rules常用规则
- 整理的一篇zend中的数组操作
- corethink功能模块探索开发(三)让这个模块可见
- phpmyadmin卡在结构问题
- 关于PHP+iFrame实现页面无需刷新的异步文件上传
- PHP:成功解决表单接收多个数组变量的问题
- 再谈PHP单引号和双引号区别
- PHP之简单MVC
- FTP的二进制与ascii传输方式区别
- PHP指定截取字符串中的中英文或数字字符的实例分享
- maven和plsql和php的关联
- 详解PHP的Yii框架中组件行为的属性注入和方法注入
- PHP 错误处理(很有意思)
- phpcms的分类名称和类别名称的调用
- PHP的Yii框架中移除组件所绑定的行为的方法
- PHP写时复制, 变量复制和对象复制不同!!!
- php dom xml增删改查crud
- ftp自动下载脚本
- PHP的Yii框架中行为的定义与绑定方法讲解