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 ''; 
相关推荐
娅娅梨16 分钟前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
汤米粥22 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾25 分钟前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺31 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
马剑威(威哥爱编程)1 小时前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
yyqzjw1 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt
csdn_kike1 小时前
QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)
开发语言·qt