PHP流程及控制,函数,数组,字符串

运算符

一,算术运算符

算术运算符用语完成各种运算;

+ 加法运算符                $a+$b;
- 加法运算符                  $a-$b;
* 乘法运算符                 $a*$b;
/ 除法运算符                 $a/$b;
% 取模运算符(求余数)                 $a%$b;

二,赋值运算符

$a = 5      赋值
$a += 5      加法赋值
$a -= 5      减法赋值
$a *= 5        乘法赋值
$a /= 5         除法赋值
$a .= 5        拼接赋值```

###三,字符运算符
字符运算符用于拼接字符串,拼接表示将两个或者多个对象组合起来
例:

$a = "hello";
$b = $a . “world"; //.表示拼接前后两个字符串
echo $b;
$b = "Hello";
$b .= “World!"; //.= 表示$b=$b."World"
$b = $b.”World”;
echo $b;


###递增(++)和递减(--)运算符
递增和递减运算符将变量的点钱值加1或减1, 可以是代码更简洁:

++$i/--$i 先加减 $i的值加/减1, 然后返回$i的值
$i++/$i-- 后加减 先返回$i的值, 然后再讲$i的值加/减1

###五逻辑运算符

&&/and 逻辑与
|| / or 逻辑或
! 逻辑非
xor 亦或(有且仅有一个为true,则返回true)

###六比较运算符
    >      大于
    <      小于
    >=     大于或等于
    <=     小于或等于
    !=     不等于
    <>     不等于
    ==     等于
    ===    绝对相等
    !==    全不等
###七,三元运算符
 语法:expression1 ? expression2 : expression3 ;
#二流程控制
##判断语句

1 if语句
if(expression ){
//statement
}else if(expression){
//statement
}else{//statement
}

  1. Switch 语句
    switch (expression){
    case value:
    //statementsbreak;
    default://statements
    }
##循环语句

1 while语句
while(expression){
//statements
}

  1. do...while语句
    do {
    //statements
    }while(expression);
  2. for循环
    for(expression1; expression2; expression3){/
    /statements
    }
  3. foreach foreach循环;
    语法格式1
    foreach(array_expr as $value){
    //statements
    }
    语法格式2
    foreach(array_expr as $key=>$value){
    //statements
    }

跳出循环
  1. break
    结束循环
    2 .continue
    结束当前循环并从下次循环执行```

函数

函数分类

1 . 内置函数
2 . 创建自定义函数

函数简介

函数用function关键字来声明;
函数名称是有字母或下划线开始,中间可以包含数字;
函数名不区分大小写,不过在调用时通常使用其定义时的格式
php不支持函数重载,所以自定义函数不能和内置函数重名;
不能再一个文件中自定义重名函数;
参数出现在括号中,如果有多个参数用逗号分隔

参数传递

!!在函数内部想要使用函数外部的变量,需要使用global重新修饰一下*

值传递(传值)

!! 使用static修改的变量为静态变量,特点是:只被初始化一次*

函数内对参数值得改变不会影响函数外部的值(如需改变需)
引用传递(传址)

有些情况下,可能希望在函数体内对参数的修改在函数体外也能反映
使用引用传递参数要在参数前加上&符号
变量本身传入,传入后的变量与原变量建立联系;
函数体内变量的变化,会影响到原变量本身```

     默认参数值:可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋值给该参数
     可选参数:可以指定某个参数为可选参数,这些参数需要房子啊参数列末尾,需要指定默认值为空

##返回值
    return  返回结果,是函数结束运行,并且将控制权返回被调用的行;
#变量作用域和生命周期
1 . 局部变量
函数体内定义的变量,只在函数体内可见
作用域:从声明开始到函数结束


#include  和require
 1 . include()
       include()语句将在其被调用的位置包含一个文件
`例 :   incl("init.php");`
 2 . include_once()
`作用于include相同,但它会先验证是否已经包含该文件,如果包含,则不再执行;`
 3 . require
     `   作用于include相同,但通常放在php程序最前端`
 4 . require_once
      `同include_once   同样放在程序最前端;` 
include  和require区别

require一个文件存在错误的话,那么程序就会中断,并显示致命错误;
include一个文件存在错误的话,程序不会中断,而是继续执行,并显示一个警告错误

#数组
一.数组的分类
例:
$day = array(“a”,”a”,”a”); //索引数组
$week = array("a"=> "星期一", "b"=>"星期二",关联数组
"c"=> “");
二数组的创建
1. 使用array()函数
`$arr = array();`
2. 直接对数组变量赋值
` $arr[key] = value;`
如果方括号没有指定索引,则取当前对大整数索引,新的键名将是,该值+1.如若当前没有整数索引则键名是0;.如果指定的键名已经有值了,该值将被覆盖
3 . 使用函数创建数组
`range()建立一个包含指定范围单元的数组`

#数组的基本操作

1 . unset($arr[0])删除数组元素
2 . print_r($arr)打印数组元素
3 . count($arr) 取得数组大小
4 . in_array(10,$arr)检查数组中是否包含某个值

###遍历数组
1 . for 循环遍历数组
2 . foreach 循环遍历数组
##数组排序
1 . sort() , rsort()对数组进行升序和降序排列;
2 . ksort(),krsort()对数组索引进行升序或降序排列,并保持索引关系


#二维数组

遍历
foreach($products as $product_k=>$product_v){
foreach($product_v as $key=>$val){
echo $key.'=>'.$val;}
}```

数组字符串转换

1 . explode()返回由字符串组成的数组

$str = "1,2,3,4,5,6";
$arr = explode(',', $str);
print_r($arr);```
2 . implode()将数组元素链接成字符串

$arr = array('a','b', 'c', 'd');
$str = implode('|', $arr );
echo $str;```

字符串

1 . echo 打印 (可打印多个值 使用逗号链接);

查找和替换

1 . strpos()

int strpos ( string haystack, mixed needle [, int offset] )
strpos()函数在haystack中以区分大小写的方式找到needle第一次出现的位置,如果没有的话返回false;
可选参数offset指定开始查找的位置

2 . stripos()
stripos()与strpos()功能相同,只是查找时不区分大小写
3 . str_replace()
mixed str_replace ( mixed search, mixed replace, mixed subject[, int &count] )

str_replace()函数在subject中以区分大小写的方式搜索search,用replace替换找到的所有内容,如果没有找到search,则subject保持不变
如果定义了可选参数count则只替换subject中count个search

截取字符串

1 . substr()

string substr ( string string, int start [, int length] )
从start位置取出length长度的字符,字符串开始位置为0;
如果没有指定length,name默认一直到字符串末尾

2 . strstr()

string strstr ( string haystack, string needle )
strstr()函数搜索一个字符串在另一个字符串中第一次出现,该函数返回字符串其余部分(从匹配点),如果未找到所搜索的字符串则返回false

3 . stristr()

stristr()与strstr()功能一样,只是不区分大小写

删除字符串

1 . ltrim

string ltrim(string str [, string charlist])
ltrim函数删除字符串左侧空格或其他预定义字符;
如果未设置charlist参数,则删除一下字符
"\0" null;
"\t" 制表符
"\n" 换行
"\x0b" 垂直制表符
"\r" 回车
" " 空格
2 . rtrim()
string rtrim(string str [, string charlist])
rtrim函数删除字符串右侧空格或其他预定义字符;

3 . trim();
trim函数删除字符串两侧空格或其他预定义字符;

其他处理函数

1 . strlen()获取字符串长度
2 . strtolower()将字符串转换为小写字母
3 . strtoupper()将字符串转换成大写字母
4 . strrev()翻转字符串
5 . nl2br()将字符串中换行(\n)转换过成HTML换行标签
;
6 . strip_tags()删除字符串中HTML XHTML PHP标签
string strip_tags ( string str [, string allowable_tags] )
可选参数allowable_tags指定要保留的标签

7 . htmlspecialchars()函数吧一些预定义的字符转换为HTML实体

预定义的字符:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
(大于) 成为 >

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容