PHP之——函数的使用

php 复制代码
<?php

自定义函数:

将课重复使用的代码用指定函数名的函数封装起来,使用函数名调用,函数名不能重复,函数名不区分大小写, 函数的声明的时候传的参数是形参,没有具体值;当函数调用的使用传递参数,

function 函数名([参数列表]){};

php 复制代码
 function sum(){ echo 3+4; }
  function sum1($a,$b){ 
  echo $a+$b; 
  } 
  sum(); 
  echo '';
   sum1(4,5);
    function mul($a,$b){ 
    return $a*$b;
     } 
     echo '';
      echo mul(3,5);
       echo ''; 

参数可以设置默认值,设置默认值后改参数就变为可选参数,不传使用默认值,传了使用传递的值,所有的默认值参数都要放参数列表的后面

php 复制代码
 function stuinfo($age,$name,$sex='男'){ 
 echo $name.'的年龄为:'.$age.',性别为:'.$sex; 
 } stuinfo(12,'小明','女'); 

//引用赋值

php 复制代码
function sum2(&$a,$b){ $a++; echo $a+$b; } echo ''; 
$a=10; $b=20; 
echo sum1($a,$b); 
echo ''; 
echo $a; 
echo ''; 
echo sum2($a,$b); 
echo '';
 echo $a;
  echo ''; 
  echo '

------------------------
'; 
x=10; $y=20; 
function calc(){ 
global $x,$y;#使用全局变量需要在局部再用global声明一次 
echo $x+$y; }
 function calc1(){
  $x=$GLOBALS['x'];
   $y=$GLOBALS['y']; 
   echo $x+$y; // 局部变量只能在局部使用,在当前作用域外不能使用 
} echo calc(); echo ''; 
echo calc1(); 
echo '

------------------------
';

静态变量:默认函数调用完毕后所有的变量都会自动释放。

如果希望某个变量函数下一次调用时以上一次调用完后的值继续使用,就将改变量声明为静态变量,会保留当前变量不会释放,使用static关键字

php 复制代码
function nums(){
 $i=1; echo $i; 
 echo ''; 
 ++$i; 
} 
nums(); 
nums(); 
nums(); 
nums(); 
echo ''; 
function nums1(){
 static $i=1; 
 echo $i; 
 echo ''; 
 ++$i; 
 } 
 nums1(); 
 nums1(); 
 nums1(); 
 nums1(); 
 echo '
------------------------
'; 
function action(){
 echo '这是可变函数调用结果';
  } //即,调用
  action() 
  $res='action'; 
  $res(); 
  echo '
------------------------
';  //匿名函数 
$sum3=function ($a,$b){ 
return $a+$b; 
}; 
echo $sum3(3,4);
echo '
------------------------
';
 echo strlen('中国'); 
 echo ''; 
 echo strlen('aaa'); 
 echo ''; 

获取指定字符串的位置的下标 获取首次出现的字符下标:

php 复制代码
echo ''.strpos('hellow world','o'); echo ''; 

获取最后一次出现的字符下标:

php 复制代码
echo ''.strrpos('hellow world','o'); echo ''; 

去除指定字符串后数组中的指定字符

str_replace('要被替换的值','替换的值','要被替换的字符串');

使用空格去掉感叹号:

php 复制代码
echo ''.str_replace('!',' ','a!bcd!d'); echo ''; 

使用逗号去掉感叹号:

php 复制代码
echo ''.str_replace('!',',','a!bcd!d'); echo ''; 

字符串截取:

substr(要截取的字符串,起始下标,[截取的长度]);

取指定的字符串:

php 复制代码
 echo ''.substr('abcddfd','2','3'); echo ''; 

去除首位空格:

php 复制代码
echo ''.trim(' a b c '); echo '';

返回事件的秒数:

php 复制代码
echo ''.time(); echo ''; 
echo mktime(12,10,20,5,21,2021); echo '';
echo date('Y-m-d H:s:i',time()); echo '';
print_r(str_split('hellow seaoct rworld',5)); echo ''; 

字符串分割

explode(需要分割的部分,需要分割的字符串,[规定所返回的数组元素的数目])

//大于 0 - 返回包含最多 limit 个元素的数组

//小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组

//0 - 返回包含一个元素的数组

php 复制代码
print_r(explode(' ','hellow world')); echo ''; 
print_r(explode(' ','hellow world',0)); echo ''; 
print_r(explode(' ','hellow world',-1)); echo '';
print_r(explode(' ','hellow world',1)); echo ''; 
print_r(explode(' ','hellow world',2)); echo ''; 
print_r(explode(' ','hellow world',3));echo ''; 
相关推荐
Ulyanov1 天前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
码界筑梦坊1 天前
357-基于Java的大型商场应急预案管理系统
java·开发语言·毕业设计·知识分享
anzhxu1 天前
Go基础之环境搭建
开发语言·后端·golang
yu85939581 天前
基于MATLAB的随机振动仿真与分析完整实现
开发语言·matlab
赵钰老师1 天前
【结构方程模型SEM】最新基于R语言结构方程模型分析
开发语言·数据分析·r语言
guygg881 天前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
gihigo19981 天前
基于MATLAB实现NSGA-III的土地利用空间优化模型
开发语言·matlab
vastsmile1 天前
(R)26.04.23 hermes agent执行本地命令超级慢的原因
开发语言·elasticsearch·r语言
我头发多我先学1 天前
C++ 模板全解:从泛型编程初阶到特化、分离编译进阶
java·开发语言·c++
YSF2017_31 天前
C语言16-makefile(3)——makefile的模式规则
linux·c语言·开发语言