php学习笔记(二)

一.函数

函数(function)是一段完成特定功能的已命名代码块。函数可以遵照参数完成特定的任务,并且可能返回一个值。

1.自定义函数

函数的定义

function 函数名称(参数1 ,参数2=默认值 ,…){

程序内容叙述(也叫函数体);

return 返回值; //return语句将终止函数的执行

}

:函数的名称应该体现出它的功能,函数名可以是以字母或下划线开头后跟字母、下划线和数字。

函数的调用

函数只有在被调用时才会执行,函数被调用后开始执行函数体中代码,执行的过程是相对独立的,执行完后返回调用的位置继续向下执行。

函数的参数

  1. 函数可以有零个或多个参数
  2. 函数的参数可以为任意数据类型
  3. 函数的参数往往用来改变函数执行结果或执行行为

函数的返回值

  1. return语句并不是必须的
  2. 默认情况下,函数的返回值为NULL
  3. return语句将终止函数的执行

2.变量范围

局部变量

局部变量是在函数内定义的,它的作用域仅限于函数内部。

全局变量

全局变量是在函数外定义的,它的作用域为从变量定义处开始到本程序的末尾。在php函数中无法直接使用全局变量,如果使用必须使用global声明变量。

静态变量

静态变量是指在函数内部定义变量的时候使用static关键字来定义变量。

3.参数传递

在函数的形参中使用“&“修饰的参数
在调用该函数时必须传入一个变量给这个参数,而不能传递一个具体的值。

$i=100;

function test($a)
{
    
      echo  ++$a;

}

test($i);

echo $i;

4.可变函数

以一个变量的值作为函数名的函数

 function test()
    { 
    
    }
   $a='test';
   $a();

5.递归函数

函数直接或间接调用函数本身,则该函数称为递归函数。
必须具备判断是否执行递归调用的条件。
终止函数的递归调用时,需把目前流程的主控权交回上一层函数执行。
函数递归调用最大的好处在于可以精简程序中繁杂重复调用程序。

function fun($n){
   
   echo $n.' ';
      
   if($n>0){  		
     fun($n-1);
   
    }else{
   
      echo  '<br/>';
  
    } 
     
    echo $n.'&nbsp; ' ;	
  
}
   
fun(3);

6.内部函数

php有很多提供给我们现成的函数或结构。
比如:

echo()
include()
include_once()
require()

二.数组

1.理解与创建

理解

数组是php中的重要数组类型之一,是复合类型;
数据的集合,在php中数组是一个有序映射.

创建

法一

变量名称[索引值]=数据;
变量名称[]=数据;//不写索引值默认是索引数组,从零开始

法二

变量名称=array(
索引值=>数据,
........
);

2.遍历数组

for循环
用的比较少,因为有缺陷。
通过foreach遍历数组

foreach($数组名称 as $变量名称){循环体;};
foreach($数组名称 as 变量1=>变量2){循环体;};

3.预定义超全局数组

预定义:已经定义好的变量(存放的数据的类型是数组)。

超全局:超级全局变量,作用域(有效区域)。

传递数据(提交数据)给服务器端主要两种方式:

get方式

?参数名=参数值&参数名=参数值…

在服务器端(请求的php文件这边)可以通过$_GET来获取到

post方式

比如表单post发送过来的一般用$_POST来获取

4.处理数组的相关函数

相关函数我们可以通过查手册来使用:
数组的相关函数

三.字符串处理

1.去除空白或其他字符函数

trim()

trim($字符串名称,"char");

char为你要去除的字符,如果省略,就是去除首尾的空白

ltrim()去除字符串左边的字符或空白

rtrim()去除字符串右边的字符或空白

2.大小写转换函数

strtoupper()将字符串转化为大写

  strtoupper($字符串名称);

strtolower()将字符串转化为小写

strtolower($字符串名称);

3.字符串查找函数

substr_count()计算字串出现的次数

substr_count($字符串,$needle);
substr_count($字符串,$needle,$offset,$length)

/*
needle(char):要查找的字符或字符串
offset(int):从第第几位开始查找(从0开始数)
length(int):从开始查找的位置开始向后查多少位
该函数返回的是整型
*/

strpos()查找字符串首次出现的位置

strpos($字符串名称,$needle)
strpos($字符串名称,$needle,$offset)

/*
needle(char):要查找的字符或字符串
offset(int):从第第几位开始查找(从0开始数)
该函数返回的值可能是整型,也可能是布尔类型的false(当返回的值为0时)
*/

strstr()查找字符串的首次出现

strstr($字符串名称,$needle)
strstr($字符串名称,$needle,before_needle)

/*
needle(char):要查找的字符或字符串
该函数返回字符串,该字符串为needle(char)及其后面的内容
before_needle:如果为true,则返回needle(char)之前的内容(不包括needle(char))
*/

4.字符串替换函数

str_replace()子字符串替换

str_replace($search,$replace,$str)
str_replace($search,$replace,$str,$count)

/*
search(char):要替换的字符
replace(char):要替换成的字符
count(int):替换的次数
也可以用数组一次替换多个字符
str_replace(array('c1','c2','c3'),array('d1','d2','d3'),$str)
str字符串中的c1,c2,c3会被替换成d1,d2,d3
该函数返回字符串
*/

5.与html标签相关的函数

htmlspecialchars()//将特殊字符转换为html 实体
strip_tags()//从字符串中去除 html和 php 标记

6.字符串截取函数

substr()返回字符串的子串

  substr($str,$start)
    substr($str,$start,$length)
    /*
    str:传入的字符串
    start(int):从此处开始截取(从0开始数),若为负数则从尾开始数
    length(int):返回的字符串的长度
    */

7.字符串分隔函数

explode()使用一个字符串分割另一个字符串

explode($delimiter,$字符串名称)
explode($delimiter,$字符串名称,$limit)
/*
delimiter(char):从此字符处分割
limit(int):限制分割的次数,分割limit-1次
*/

str_split()将字符串转换为数组

str_split($字符串名称,$split_length)
/*
split_length:每个转换成的数组中的元素有多少个字符
返回一个数组
*/

字符串处理手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值