您的位置:首页 > 编程语言 > PHP开发

php学习--3 流程控制语句,字符串操作

2015-09-05 11:41 671 查看
流程控制语句

if(expr1){
statement1;
}else if(expr2){
statement2;
}else{
statement3;
}

switch(variable){
case value1:
case value2:
statement_1_and_2;
break;
case value3:
statement3;
break;
default:
statement_default;
}
//若break换做continue,作用相同。


循环控制语句

while(expr){
statement;
}

do{
statement; //at least once
}while(expr);

for(expr1;expr2;expr3){
statement;//expr1 ->expr2? statement:break ->expr3
}

foreach(array_expr as value){//value为拷贝
statement;
}
foreach(array_expr as &value){}//value为引用,且只有当array可以引用时有效(array需为变量,array(1,2,3)就不可),并且最后一定要再foreach外unset($value),不然联接一直在。
or
foreach(array_expr as key => value){
statement;
}

another way :
{ -> :
} -> endname;

foreach( ):
statement;
endforeach;


break/continue

break:终止当前的循环。跳出多层 break $num;

while(true){                     //loop 1
while(true){                 //loop 2
for($i = 0 ;i <=3 ;i++){ //loop 3
if($i == 2){
break 3;         //jump out of loop 1
}
}
echo "this is the second loop";// will not be executed
}
}


continue:终止本次的循环,进入到下一次循环。也可跳出到多层的末尾,进入该层的下次循环。

$i = 0;
while ($i++ < 2) {
echo "loop1\n";
while (1) {
echo "loop2<br />\n";
while (1) {
echo "loop3<br />\n";
continue 3;
}
echo "This never gets.<br />\n";
}
echo "Neither does this.<br />\n";
}
//loop1-loop2-loop3-loop1-loop2-loop3

goto 语句
目标位置只能位于同一个文件和作用域,无法跳入循环或者switch,但能用于跳出
goto l;
echo "world";
l:
echo "hello";
//只会显示hello没有world


字符串操作

去除字符:
trim():去除字符串首尾空格和特殊字符,并返回结果字符串。
string trim(string str[,string charlist]);
//str: 目标字符串
//charlist: 要删除的字符(可选,不设置就默认全删)
$str = "(:@abcd:)";
$str = trim($str,"(:@:)");

ltrim():去除左边的
rtrim():去除右边的

转义,还原字符串
一般可以用 \ 进行转义。
string addslashes(string str);//转义*****尤其数据库操作时,插入
string stripslashes(string str);//复原
对于给定的指定字符
string addcslashes(string str,string charlist);
string stripcslashes(string str);

获取字符串的长度
int strlen(string str);

截取字符串
string substr(string str,int start [,int length]);//从0开始
//start:负值代表从倒数第几个开始,倒数没有第0个
//length:负值代表截取到倒数第几个

比较字符串
按字节进行比较
int strcmp(string str1,string str2);//区分大小写
int strcasecmp(string str1,string str2);//不区分
按自然排序法进行比较
int strnatcmp(string str1,string str2);//将数字部分按大小比
比较字符串的前n字符
int strncmp(string str1,string2,int length);

检索字符串
sting strstr(string str,string a)//从str中检索a,返回str中从a开始到末尾的字符串,否则返回false
$name = "picture.jpg";
$name = strstr($name,".");
echo $name;//".jpg"

检索子串出现的次数
int substr_count(string haystack,string needle);

替换字符串
mixed str_ireplace(mixed search,mixed replace,mixed subject [,int &count]);//将subject中的search替换成replace,替换次数为count,===不区分大小写。
str_replace//区分大小写

指定字符串中的部分字符串进行替换
string substr_repalce(string str,string repl,int start,[int length]);

格式化字符串
a.四舍五入掉.后的小数部分(只剩整数,且整数每三位加 ,)
b.小数后面留2位
c. . 代替小数点
d. . 代替每三位的 ,
number_format($num);//a
number_format($num,2);//a,b
number_format($num,2,'.','.');//a,b,c,d

分割字符串
array explode(string separator,string str [,int limit]);//limit代表返回最多的元素个数,若为负数,则返回除最后limit个元素外的所有元素。

合成字符串
string implode(string glue,array pieces);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php