PHP之——函数的使用

2023-12-28 11:41:59
<?php

自定义函数:

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

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

 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 ''; 

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

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

//引用赋值

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关键字

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 ''; 

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

echo ''.strpos('hellow world','o'); echo ''; 

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

echo ''.strrpos('hellow world','o'); echo ''; 

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

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

使用空格去掉感叹号:

echo ''.str_replace('!',' ','a!bcd!d'); echo ''; 

使用逗号去掉感叹号:

echo ''.str_replace('!',',','a!bcd!d'); echo ''; 

字符串截取:

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

取指定的字符串:

 echo ''.substr('abcddfd','2','3'); echo ''; 

去除首位空格:

echo ''.trim(' a b c '); echo '';

返回事件的秒数:

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 - 返回包含一个元素的数组

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 ''; 

文章来源:https://blog.csdn.net/run__ning/article/details/135236849
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。