Home Backend Development PHP Tutorial Reference and return of php functions

Reference and return of php functions

May 04, 2018 am 11:49 AM
php Quote return

The references of php functions are the same as the variable references in php, so today we will take a look at some examples of function returns. Friends in need can refer to them. Let’s take a look together.

Look at the code first:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

function &test() {

    static $b=0;//申明一个静态变量

    $b=$b+1;

    echo $b;

    return $b;

}

$a=test();//这条语句会输出 $b的值 为1

$a=5;

$a=test();//这条语句会输出 $b的值 为2

$a=&test();//这条语句会输出 $b的值 为3

$a=5;

$a=test();//这条语句会输出 $b的值 为6

?>

Copy after login

Explain below:

In this way, $a=test(); actually gets It is not a reference return of a function. It is no different from an ordinary function call. As for the reason: this is a regulation of PHP. PHP stipulates that what is obtained through $a=&test(); is a reference return of a function. As for what is a reference return? (The PHP manual says: Reference return is used when you want to use a function to find which variable the reference should be bound to.) This nonsense made me unable to understand it for a long time.

Using the above example to explain, calling a function in the

$a=test() method only assigns the value of the function to $a, and any changes to $a will not occur. It affects $b in the function, and the function is called through $a=&test(). Its function is to point the memory address of the $b variable in return $b and the memory address of the $a variable to the same place. , which produces an effect equivalent to "$a=&$b;" So changing the value of $a also changes the value of $b, so after executing

1

2

$a=&test();

$a=5;

Copy after login
Copy after login

, the value of $b became 5.

Static variables are used here to let everyone understand the reference return of the function. In fact, the reference return of the function is mostly used in objects.

Attached is an official PHP example:

Calling a function using $a=test() only assigns the value of the function to $a. Any changes to $a will not affect $b in the function. Calling a function using $a=&test() Well, its function is to point the memory address of the $b variable in return $b and the memory address of the $a variable to the same place, which produces an effect equivalent to "$a=&$b;" So Changing the value of $a also changes the value of $b, so after executing

1

2

$a=&test();

$a=5;

Copy after login
Copy after login

, the value of $b becomes 5.

Static variables are used here to let everyone understand the reference return of the function. In fact, the reference return of the function is mostly used in objects

Attached is an official PHP example:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

//This is the way how we use pointer to access variable inside the class.

<?php

class talker{

    private $data = &#39;Hi&#39;;

    public function & get(){

        return $this->data;

    }

    public function out(){

        echo $this->data;

    }  

}

$aa new talker();

$d = &$aa->get();

$aa->out();

$d 'How';

$aa->out();

$d 'Are';

$aa->out();

$d 'You';

$aa->out();

?>

//the output is "HiHowAreYou"

Copy after login

I believe that after reading the case in this article, you have mastered the method of function reference. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Related articles:

Reference parameters and number of parameters of php function

##PHP——Function_Study notes References of php functions php delay function php sorting function

In-depth analysis of php execution principle (2): function compilation php encryption function php function reference php delay function

The above is the detailed content of Reference and return of php functions. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1677
14
PHP Tutorial
1280
29
C# Tutorial
1257
24
The Continued Use of PHP: Reasons for Its Endurance The Continued Use of PHP: Reasons for Its Endurance Apr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

PHP and IIS: Making Them Work Together PHP and IIS: Making Them Work Together Apr 21, 2025 am 12:06 AM

Configuring and running PHP on IIS requires the following steps: 1) Download and install PHP, 2) Configuring IIS and adding FastCGI module, 3) Create and set up an application pool, 4) Create a website and bind to an application pool. Through these steps, you can easily deploy PHP applications on your Windows server and improve application stability and efficiency by configuring scaling and optimizing performance.

How to use MySQL functions for data processing and calculation How to use MySQL functions for data processing and calculation Apr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

H5: Key Improvements in HTML5 H5: Key Improvements in HTML5 Apr 28, 2025 am 12:26 AM

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

See all articles