찾다
백엔드 개발PHP 튜토리얼PHP 사용자 정의 함수 선언, 호출, 매개변수 및 반환 값에 대한 기본 튜토리얼

PHP 사용자 정의 함수 선언, 호출, 매개변수 및 반환 값에 대한 기본 튜토리얼

Jun 26, 2017 am 09:41 AM
php기능매개변수성명사용자 정의부르다

수학의 함수처럼 y=f(x)는 함수의 기본 표현 형태이고, x는 매개변수, y로 간주할 수 있습니다. > 이는 반환 값으로 간주될 수 있습니다. 즉, 함수 정의는 특정 작업을 수행하고 이를 호출하는 프로그램에 값을 반환할 수 있는 명명된 독립 코드 세그먼트입니다. y=f(x)是函数基本的表达形式,x可看做是参数,y可看做是返回值,即函数定义就是一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。

自定义函数

函数的声明

在编写程序的过程中,我们会经常碰到某些功能模块在PHP中没有提供系统函数,这样就需要我们自己定义函数,即自定义函数,自定义函数的规则如下:

  • 每个函数的第一行都是函数头,由声明函数的关键字function、函数名和参数列表三部分组成。

  • 每个自定义函数都必须使用function关键字声明。

  • 函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量名的命名规则即可。但函数名称必须唯一,且不能与系统函数重名。

  • 声明函数时函数名后面的花括号也是必须有的,在花括号中表明了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时传递给它值。参数列表可以没有,也可以有—个或多个参数,多个参数使用逗号分隔。

  • 函数体位于函数头后面,用花括号括起来。函数被调用后,执行到retun语句或最外面的花括号后结束,返回到调用的程序。

  • 使用关键字return可以从函数中返回一个值,然后返回到调用程序处继续执行。

Demo

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        for($out=0; $out < 10; $out++ ) {       
            $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色            
            echo "<tr bgcolor=".$bgcolor.">"; 
            for($in=0; $in <10; $in++) {    
                echo "<td>".($out*10+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>

函数的调用

不管是自定义的函数还是系统函数,如果函数不被调用,就不会执行。函数被调用后开始执行函数体中的代码,执行完毕返回到调用的位置继续向下执行。调用规则如下:

  • 通过函数名称去调用函数。

  • 如果函数有参数列表,还可以通过函数名后面的圆括号传入对应的值给参数,在函数体中使用参数来改变函数内部代码的执行行为。

  • 如果函数有返回值,当函数执行完毕时就会将return后面的值返回到调用函数的位置处。

Demo

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        for($out=0; $out < 10; $out++ ) {       
            $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色            
            echo "<tr bgcolor=".$bgcolor.">"; 
            for($in=0; $in <10; $in++) {    
                echo "<td>".($out*10+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>  

函数的参数

参数列表是由零个、一个或多个参数组成的。每个参数是一个表达式,用逗号分隔。对于有参函数,在PHP脚本程序中和被调用函数之间有数据传递关系。定义函数时函数名后面括号内的表达式称为形式参数(简称“形参”),被调用函数名后面括号中的表达式称为实际参数(简称“实参”),实参和形参需要接顺序对应传递数据。如果函数没有参数列表,函数执行的任务就是固定的,用户在调用函数时不能改变函数内部的一些执行行为。

Demo

<?php 
    /**自定义函数table()时,声明三个参数,参数之间使用逗号分隔        
    @param  string  $tableName  需要一个字符串类型的表名        
    @param  int     $rows       需要一个整型数值设置表格的行数        
    @param  int     $cols       需要另一个整型值设置表格的列数    */
    function table( $tableName, $rows, $cols ) {                    
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
        echo "<caption><h1 id="nbsp-tableName-nbsp"> $tableName </h1></caption>";            
    
        for($out=0; $out < $rows; $out++ ) {    //使用第二个参数$rows指定表行数
            $bgcolor = $out%2 == 0 ? "red" : "blue";            
            echo "<tr bgcolor=".$bgcolor.">"; 

            for($in=0; $in < $cols; $in++) {    //使用第三个参数$cols指定表列数
                echo "<td>".($out*$cols+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>  
<?php 
table("表格",10,10);
?>

函数的返回值

函数的返回值是函数执行的结果,调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键字return向调用者传递数据。return语句注意点如下:

  • return语句可以向函数调用者返回函数体中任意执行结果值。

  • 在函数体中如果执行了return

    사용자 정의 함수

    함수 선언
작성 중 프로그래밍 과정에서 우리는 PHP에서 시스템 기능을 제공하지 않는 특정 기능 모듈을 자주 접하게 되므로 함수, 즉 사용자 정의 함수를 직접 정의해야 합니다.

각 함수의 첫 번째 줄은 에 의해 선언된 함수 헤더입니다. 함수는 키워드 함수, 함수 이름, 매개변수 목록의 세 부분으로 구성됩니다. 🎜🎜
  • 🎜모든 맞춤 함수는 function 키워드를 사용하여 선언해야 합니다. 🎜🎜
  • 🎜함수 이름은 함수 전체를 나타낼 수 있으며, 변수 이름 명명 규칙을 따른다면 어떤 이름으로도 함수 이름을 지정할 수 있습니다. 그러나 함수 이름은 고유해야 하며 시스템 함수와 동일한 이름을 가질 수 없습니다. 🎜🎜
  • 🎜함수를 선언할 때 함수 이름 뒤에 중괄호도 필요합니다. 중괄호는 허용되는 매개변수 목록 집합을 나타냅니다. 매개변수는 선언된 변수이며, 값은 여기에 전달됩니다. 함수가 호출됩니다. 매개변수 목록에는 매개변수가 없거나 하나 이상 있을 수 있으며 여러 매개변수는 쉼표로 구분됩니다. 🎜🎜
  • 🎜함수 본문은 함수 헤더 뒤에 위치하며 중괄호로 묶입니다. 함수가 호출된 후 retun 문 또는 가장 바깥쪽 중괄호 다음에 실행이 종료되고 호출 프로그램으로 돌아갑니다. 🎜🎜
  • 🎜함수에서 값을 반환한 다음 호출 프로그램으로 돌아가 실행을 계속하려면 return 키워드를 사용하세요. 🎜🎜🎜🎜Demo🎜
    <?php 
        /**        自定义函数table()时,声明三个参数,参数之间使用逗号分隔        
        @param  string  $tableName  需要一个字符串类型的表名        
        @param  int     $rows       需要一个整型数值设置表格的行数        
        @param  int     $cols       需要另一个整型值设置表格的列数    */
        function table( $tableName, $rows, $cols ) {        $returnStr="这是返回的字符串";
            echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
            echo "<caption><h1 id="nbsp-tableName-nbsp"> $tableName </h1></caption>";            
        
            for($out=0; $out < $rows; $out++ ) {    //使用第二个参数$rows指定表行数
                $bgcolor = $out%2 == 0 ? "red" : "blue";            
                echo "<tr bgcolor=".$bgcolor.">"; 
    
                for($in=0; $in < $cols; $in++) {    //使用第三个参数$cols指定表列数
                    echo "<td>".($out*$cols+$in)."</td>";    
                }            echo "</tr>";    
            }        echo "</table>";
            return $returnStr;
        } 
    ?>  
    <?php 
    echo table("表格",10,10);
    ?>
    🎜함수 호출🎜🎜사용자 정의 함수든 시스템 함수든 해당 함수가 호출되지 않으면 실행되지 않습니다. 함수가 호출된 후 함수 본문에 있는 코드의 실행을 시작합니다. 실행이 완료된 후 호출 위치로 돌아가 하향 실행을 계속합니다. 호출 규칙은 다음과 같습니다. 🎜
    • 🎜함수 이름을 통해 함수를 호출합니다. 🎜🎜
    • 🎜함수에 매개변수 목록이 있는 경우 함수 이름 뒤의 괄호를 통해 해당 값을 매개변수에 전달할 수도 있고, 함수 본문의 매개변수를 사용하여 함수 내부 코드의 실행 동작을 변경할 수도 있습니다. 기능. 🎜🎜
    • 🎜함수에 반환값이 있는 경우 함수가 실행되면 함수가 호출된 위치에 return 다음에 오는 값이 반환됩니다. 🎜🎜🎜🎜Demo🎜rrreee🎜함수 매개변수🎜🎜매개변수 목록은 0, 하나 이상의 매개변수. 각 인수는 쉼표로 구분된 표현식입니다. 매개변수화된 함수의 경우 PHP 스크립트 프로그램과 호출된 함수 간에 데이터 전송 관계가 있습니다. 함수를 정의할 때 함수 이름 뒤 괄호 안의 표현식을 형식 매개변수("형식 매개변수"라 함)라고 하고, 호출된 함수 이름 뒤 괄호 안의 표현식을 실제 매개변수("실제 매개변수"라 한다)라고 한다. 실제 매개변수와 형식 매개변수 데이터는 순차적으로 전송되어야 합니다. 함수에 매개변수 목록이 없는 경우 함수가 수행하는 작업은 고정되어 있으며 사용자는 함수를 호출할 때 함수의 내부 실행 동작 중 일부를 변경할 수 없습니다. 🎜🎜Demo🎜rrreee🎜함수의 반환 값🎜🎜 함수는 함수 실행입니다. 따라서 함수를 호출하는 스크립트는 직접 사용할 수 없습니다. 함수를 본문 정보에 포함하지만 return 키워드를 통해 호출자에게 데이터를 전달할 수 있습니다. return 문에 대한 참고 사항은 다음과 같습니다. 🎜
      • 🎜return 문은 함수 본문의 모든 실행을 반환할 수 있습니다. 함수 호출자 결과 값에. 🎜🎜
      • 🎜함수 본문에서 return 문이 실행되면 그 뒤의 문은 실행되지 않습니다. 🎜🎜🎜🎜Demo🎜rrreee
  • 위 내용은 PHP 사용자 정의 함수 선언, 호출, 매개변수 및 반환 값에 대한 기본 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    PHP와 Python : 다른 패러다임이 설명되었습니다PHP와 Python : 다른 패러다임이 설명되었습니다Apr 18, 2025 am 12:26 AM

    PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

    PHP와 Python : 그들의 역사에 깊은 다이빙PHP와 Python : 그들의 역사에 깊은 다이빙Apr 18, 2025 am 12:25 AM

    PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

    PHP와 Python 중에서 선택 : 가이드PHP와 Python 중에서 선택 : 가이드Apr 18, 2025 am 12:24 AM

    PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

    PHP 및 프레임 워크 : 언어 현대화PHP 및 프레임 워크 : 언어 현대화Apr 18, 2025 am 12:14 AM

    PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

    PHP의 영향 : 웹 개발 및 그 이상PHP의 영향 : 웹 개발 및 그 이상Apr 18, 2025 am 12:10 AM

    phphassignificallyimpactedwebdevelopmentandextendsbeyondit

    스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?Apr 17, 2025 am 12:25 AM

    PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

    PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?Apr 17, 2025 am 12:24 AM

    PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

    PHP vs. Python : 사용 사례 및 응용 프로그램PHP vs. Python : 사용 사례 및 응용 프로그램Apr 17, 2025 am 12:23 AM

    PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    뜨거운 도구

    MinGW - Windows용 미니멀리스트 GNU

    MinGW - Windows용 미니멀리스트 GNU

    이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    WebStorm Mac 버전

    WebStorm Mac 버전

    유용한 JavaScript 개발 도구

    ZendStudio 13.5.1 맥

    ZendStudio 13.5.1 맥

    강력한 PHP 통합 개발 환경

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기