php技巧之return关键字

WBOY
풀어 주다: 2016-06-20 13:01:00
원래의
1120명이 탐색했습니다.

php技巧之return关键字

你肯定知道以下:

return 关键字一般用于返回一个函数的结果,例如:

<?php
function test() {
    return 'this is a string';
}
?>
로그인 후 복사

在类定义的情况下也可以用来返回类实例,例如:

class someClass 
{
    public function method1()
    {
        print 'method one called';
    }
    public function getInstence()
    {
        return $this;
    }
}

$a = new someClass;
$b = $a->getInstence();
$b->method1();
$c = clone($a);
if ($a === $b) { //关于 ' ===' 你可以参照我的文章[基础]php技巧之判断
    print '<br />$a and $b are the same.<br />'; //$a 和 $b 指向了同一个对象实例
}
if ($a !== $c) {
    print '<br />$a and $c are NOT the same.<br />';  //使用克隆clone()之后,生成一个新的对象实例。
}
로그인 후 복사

如果你想简洁一点写函数return,千万别这样写, 编译器会很快告诉你 “Parse error: syntax error, unexpected T_RETURN in E:/web/4.php on line 7

<?php
/**
 * @param integer $a  一个整数
 *
 */
function a ($a) {
    $a<=0 ? return true : return false;
}
?>

这样写才是正确的

<?php
/**
 * @param integer $a  一个整数
 *
 */
function a ($a) {
     return $a<=0 ? true : false;
}
?>
로그인 후 복사

你可能不知道这个

PHP在include或者require文件时,如果被包含文件中的return 关键字不在函数中,那么return 的结果将会被当作include或者require的返回值,这个特性使得被包含文件更像是一个函数,在特殊的情况下可能会用到,看例子:

1.php 被包含文件

<?php 
    $i = 0;
    $number;
    for ($i; $i < 100; $i++) {
        $number++; 
    }
    return $number;
    echo '本行不会被执行';
?>
로그인 후 복사


2.php

<?php 
    print include '1.php'; //输出结果 100
?>
로그인 후 복사

 


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿