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

流程控制语句

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值