PHP菜鸟(3)PHP函数

  1. PHP自定义函数

    语法格式 function fun_name($var1,$var2...)

{

statements;

}

函数可以通过return 返回值

例如

   function add($a, $b){
   return a + b;
   }

函数的传递有三种方式:

1.按值传递 形参的值不会影响到实参

2.按引用传递 形参的值会影响到实参

   function add(&$a){
   $a += 1;
   }
   $a = 1;
   add($a);
   echo $a; //$a=2

3.默认参数

又称为可选参数,必须放在参数列表的最后,并且指定默认为空

   function values($price, $tax=""){
       $price = $price + $price * $tax;
       echo "The price is $price";
   }

另外php函数可以通过return返回处理后的值 函数也可以嵌套使用

2.PHP的内建函数

1.输出函数

int print(string args)

echo arg1, arg2....

int printf(string format, args...)  //直接通过printf向浏览器输出

string sprintf(string foramt, args...) //需要通过echo进一步输出

    echo $name."<br>";
    print $name."<br>";
    printf("HI, my name is %s,my age is %d years old", $name, $age);
    echo sprintf("HI, my name is %s,my age is %d years old", $name, $age);

2.引用文件函数

作用,将一个源文件中的代码包含到当前源文件中使用。实现代码重用。

void include(string filename);//filename是文件的路径

void require(string filename);

void include_once(string filename);

void require_once(string filename);

    <?php include("top.php");?>
    <?php include("top.php");?>

include与require的区别:

当代吗执行到include的时候,才会将外部文件引用进来,然后读取文件的内容,引用发生错误,只会发生警告,代码会继续向下执行。

代码执行之前,PHP解释器会将被引用文件的内容替换require语句,组成一个新的PHP文件,然后执行。一般将require语句放到文件的起始位置,通常用来引用公共函数文件和公共类文件。

include_once和require_once可以有效的方式因文件的重复引用而导致的函数重复定义。

include_once在导入文件之前会检查该文件是否之前被导入,如果被导入了,不会导入该文件同时引发一个警告,但是不影响文件继续执行。

require_once与include_once类似。如果被重复引用了会引发致命错误,程序不在执行。

======================================实战=======================================

通过自定义函数防止新闻主题信息出现中文乱码

<?php
function chinesesubstr($str, $start, $length){
    $strlen = $start + $len;
    for($i=$start;$i<$strlen;$i++){
        if(ord(substr($str,$i,1))>0xa0){
            $tmpstr.=substr($str,$i,2);
            $i++;
            }else{
            $tmpstr.=substr($str,$i,1);
    {
     return $tmpstr;
}
时间: 2024-11-10 07:27:05

PHP菜鸟(3)PHP函数的相关文章

转 C++函数返回值,你必须注意的问题

归根结底,C++所面临的问题要求它提供各种各样的机制以保证性能,也许,这辈子也见不到C++能安全有效的自己进行内存垃圾回收..... 老程序猿都会提醒菜鸟,注意函数的返回值,因为,很可能,你的函数返回的数据在后续的使用中会出错.那么函数在返回值时要注意什么呢? 本篇博客尝试用最简练的普通大白话,讲解函数返回值的问题. C++把内存交给了程序猿,但是,请你注意,它可没把所有的内存都交给你,交给你的只是堆上的内存,也就是你通过malloc函数  和new 关键字申请来的内存,除了这些内存以外,其他的

GO语言常量和变量

标识符与关键字 标识符 人为定义有特殊意义的词,Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头. 关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符. GO语言中有25个关键字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import r

java多线程,多线程加锁以及Condition类的使用

看了网上非常多的运行代码,很多都是重复的再说一件事,可能对于java老鸟来说,理解java的多线程是非常容易的事情,但是对于我这样的菜鸟来说,这个实在有点难,可能是我太菜了,网上重复的陈述对于我理解这个问题一点帮助都没有.所以这里我写下我对于这个问题的理解,目的是为了防止我忘记. 还是从代码实例开始讲起: import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.co

菜鸟nginx源码剖析 框架篇(一) 从main函数看nginx启动流程(转)

俗话说的好,牵牛要牵牛鼻子 驾车顶牛,处理复杂的东西,只要抓住重点,才能理清脉络,不至于深陷其中,不能自拔.对复杂的nginx而言,main函数就是“牛之鼻”,只要能理清main函数,就一定能理解其中的奥秘,下面我们就一起来研究一下nginx的main函数. 1.nginx的main函数解读 nginx启动显然是由main函数驱动的,main函数在在core/nginx.c文件中,其源代码解析如下,涉及到的数据结构在本节仅指出其作用,将在第二节中详细解释. nginx main函数的流程图如下:

[Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)

1. 鼠标双击 ? 1 2 3 4 5 6 7 8 9 void OnGUI()    {        Event Mouse = Event.current;        if (Mouse.isMouse && Mouse.type == EventType.MouseDown && Mouse.clickCount == 2)        {            // 调用你的函数            print("Double Click&quo

菜鸟随笔(2)---brk()与sbrk()函数的学习与使用

一只菜鸟横空出世,码农世界闯一闯,每天进展多一丢丢. brk()与sbrk()函数的学习与使用 brk()与sbrk()函数定义如下: #include <unistd.h> int brk(boid *addr): addr:把内存末尾指针设置为addr.返回值:0表示成功,非0表示失败 void *sbrk(intptr_t increment); increment:把内存的末尾指针移动increment个字节.返回值:上次调用sbrk/brk的内存末尾指针. 内容摘选转自:https:

Python从菜鸟到高手(6):获取用户输入、函数与注释

1. 获取用户输入   要编写一个有实际价值的程序,就需要与用户交互.当然,与用户交互有很多方法,例如,GUI(图形用户接口)就是一种非常好的与用户交互的方式,不过我们先不讨论GUI的交互方式,本节会采用一种原始,但很有效的方式与用户交互,这就是命令行交互方式,也就是说,用户通过命令行方式输入数据,程序会读取这些数据,并做进一步的处理.   从命令行接收用户的输入数据,需要使用input函数.input函数接收一个字符串类型的参数,用于作为输入的提示.input函数的返回值就是用户在命令行中录入

Python从菜鸟到高手(8):print函数、赋值与代码块

1.神奇的print函数 ??print函数相信读者一定对它不陌生,因为在前面的章节,几乎每个例子都使用了print函数,这个函数的功能就是在控制台输出文本.不过print在输出文本时还可以进行一些设置,以及输出多参数字符串. ??如果为print函数传入多个参数值,那么print函数会将所有的参数值首尾相接输出. # 输出结果:a b c d e print("a","b","c","d","e"); ?

学习AS3菜鸟起飞吧之—函数(四):形式参数和实际参数

函数的参数是外界与函数内部通信的方法,对于有参函数来说,函数调用时函数有数据传递的关系. 看代码: //调用函数max(5,7);//定义函数function max(x:int,y:int):int{     if(x > y)     {           x = x;      } else {              x = y;      }      return x;} 如果一个函数有返回值,可使用 return语句,并在定义函数时声明返回值的类型. 上面的代码在函数调用过程中

菜鸟学习nodejs--回调函数

什么是回调函数 如果大家使用过jQuery,那么会掉函数就像家常便饭一样,例如我们经常会给一个事件传一个function的参数,其实这就是回调函数,回调函数就是我们所说的异步,如果还是有点蒙,那么我们来举个例子. 我们新建一个index1.html和一个index2.html文件 在index1.html $(function(){ $('p').hide('slow',functin(){ alter("他隐藏了"): }); }); 在index2.html function(){