찾다
백엔드 개발PHP 튜토리얼php7 함수, 선언, 반환 값 등과 같은 새로운 기능 소개
php7 함수, 선언, 반환 값 등과 같은 새로운 기능 소개May 25, 2018 am 10:44 AM
phpphp7기능성명특성반품

... 연산자를 사용하여 가변 길이 매개변수 함수를 정의합니다(PHP 5 >= 5.6.0, PHP 7)

이제 ... 연산자를 사용하여 변수에 의존하지 않고 가변 길이 매개변수 함수를 구현할 수 있습니다. func_get_args().

<?php
function f($req, $opt = null, ...$params) {
 // $params 是一个包含了剩余参数的数组
 printf(&#39;$req: %d; $opt: %d; number of params: %d&#39;."\n",
   $req, $opt, count($params));
}

f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>

위 루틴은 다음을 출력합니다:

$req: 1; $opt: 0; 매개변수 수: 0
$req: 1; $opt: 2; : 2; 매개변수 수: 1
$req: 1; $opt: 2; 매개변수 수: 2
$req: 1; $opt: 2; 사용... 연산자 매개변수 (PHP 5 >= 5.6.0, PHP 7)

함수를 호출할 때... 연산자를 사용하여 배열과 탐색 가능한 객체를

함수 매개변수
로 확장하세요. Ruby와 같은 다른

프로그래밍 언어

에서는 이를 연결 연산자라고 합니다.

<?php
function add($a, $b, $c) {
 return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);
?>
위 루틴은 다음을 출력합니다: 6

use function and use const (PHP 5 >= 5.6.0, PHP 7)

use 연산자는 클래스에서 지원하도록 확장되었습니다. 외부 함수 가져오기 그리고 상수. 해당 구조는 use function과 use const입니다.

<?php
namespace Name\Space {
 const FOO = 42;
 function f() { echo FUNCTION."\n"; }
}

namespace {
 use const Name\Space\FOO;
 use function Name\Space\f;

 echo FOO."\n";
 f();
}
?>

위 루틴은 다음을 출력합니다:

42

NameSpacef


debugInfo() (PHP 5 >= 5.6.0, PHP 7)

var_dump() 출력을 사용할 때 debugInfo() 추가 객체로 사용될 경우 출력할 속성과 값을 제어하는 ​​데 사용할 수 있습니다.

<?php
class C {
 private $prop;

 public function construct($val) {
  $this->prop = $val;
 }

 public function debugInfo() {
  return [
   &#39;propSquared&#39; => $this->prop ** 2,
  ];
 }
}

var_dump(new C(42));
?>

위 루틴은 다음을 출력합니다.

object(C)#1 (1) {
 ["propSquared"]=>
 int(1764)
}

스칼라 유형 선언(PHP 7)

스칼라 유형 선언에는 필수(기본값)와 엄격 모드의 두 가지 모드가 있습니다. 이제 다음 유형 매개변수를 사용할 수 있습니다(강제 모드 또는 엄격 모드): string
(문자열), 정수(int), 부동 소수점 숫자(float) 및 부울(bool). 이는 PHP5에 도입된 클래스 이름, 인터페이스, 배열 및

콜백 유형

등 다른 유형을 확장합니다.

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
 return array_sum($ints);
}

var_dump(sumOfInts(2, &#39;3&#39;, 4.1));
위 루틴은 다음을 출력합니다. int(9)

엄격 모드를 사용하려면 선언 선언 지시문을 파일 맨 위에 배치해야 합니다. 이는 스칼라가 파일 기반으로 구성 가능하다고 엄격하게 선언됨을 의미합니다. 이 지시문은 매개변수의 유형 선언뿐만 아니라

함수의 반환 값 선언에도 영향을 미칩니다(반환 값 유형 선언, 내장 PHP 함수 및 확장에 로드된 PHP 함수 참조).

반환 값 유형 선언(PHP 7)

PHP 7에서는 반환 유형 선언에 대한 지원이 추가되었습니다. 매개변수 유형 선언과 유사하게 반환 유형 선언은 함수의 반환 값 유형을 지정합니다. 사용 가능한 유형은 매개변수 선언에서 사용 가능한 유형과 동일합니다.

<?php

function arraysSum(array ...$arrays): array
{
 return array_map(function(array $array): int {
  return array_sum($array);
 }, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
위 루틴은 다음을 출력합니다:

Array

(

[0] => 6

[1] => 15

[2] => 24

)



null 병합 연산자(PHP 7 )

일상생활에서 삼항식과 isset()을 동시에 사용하는 상황이 많기 때문에 null 병합 연산자(??)의 구문 설탕을 추가했습니다. 변수가 존재하고 NULL이 아니면 자체 값을 반환하고, 그렇지 않으면 두 번째 피연산자를 반환합니다.

<?php
// Fetches the value of $_GET[&#39;user&#39;] and returns &#39;nobody&#39;
// if it does not exist.
$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;
// This is equivalent to:
$username = isset($_GET[&#39;user&#39;]) ? $_GET[&#39;user&#39;] : &#39;nobody&#39;;

// Coalesces can be chained: this will return the first
// defined value out of $_GET[&#39;user&#39;], $_POST[&#39;user&#39;], and
// &#39;nobody&#39;.
$username = $_GET[&#39;user&#39;] ?? $_POST[&#39;user&#39;] ?? &#39;nobody&#39;;
?>

우주선 연산자(결합 비교 연산자)(PHP 7)

우주선 연산자는 두 표현식을 비교하는 데 사용됩니다. $a가 각각 $b보다 작거나 같거나 클 경우 -1, 0 또는 1을 반환합니다. 비교 원칙은 PHP의 일반 비교 규칙을 따릅니다.

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

define()을 통해 상수 배열 정의(PHP 7)

이제 Define()을 통해 배열 유형 상수를 정의할 수 있습니다. PHP5.6에서는 const를 통해서만 정의할 수 있습니다. 아아아아

위 내용은 php7 함수, 선언, 반환 값 등과 같은 새로운 기능 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
php7检测tcp端口不好用怎么解决php7检测tcp端口不好用怎么解决Mar 22, 2023 am 09:30 AM

在php5中,我们可以使用fsockopen()函数来检测TCP端口。这个函数可以用来打开一个网络连接和进行一些网络通信。但是在php7中,fsockopen()函数可能会遇到一些问题,例如无法打开端口、无法连接到服务器等。为了解决这个问题,我们可以使用socket_create()函数和socket_connect()函数来检测TCP端口。

php7.0安装了插件还是显示未安装怎么办php7.0安装了插件还是显示未安装怎么办Apr 02, 2024 pm 07:39 PM

解决 PHP 7.0 中插件未显示已安装问题的方法:检查插件配置并启用插件。重新启动 PHP 以应用配置更改。检查插件文件权限,确保其正确。安装丢失的依赖项,以确保插件正常运行。如果其他步骤均失败,则重建 PHP。其他可能原因包括插件版本不兼容、加载错误版本或 PHP 配置问题。

php7.0怎么安装mongo扩展php7.0怎么安装mongo扩展Nov 21, 2022 am 10:25 AM

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

php7.0怎么安装部署php7.0怎么安装部署Nov 30, 2022 am 09:56 AM

php7.0安装部署的方法:1、到PHP官网下载与本机系统对应的安装版本;2、将下载的zip文件解压到指定目录;3、打开命令行窗口,在“E:\php7”目录下运行“php -v”命令即可。

PHP 服务器环境常见问题指南:快速解决常见难题PHP 服务器环境常见问题指南:快速解决常见难题Apr 09, 2024 pm 01:33 PM

PHP服务器环境常见的解决方法包括:确保已安装正确的PHP版本和已复制相关文件到模块目录。临时或永久禁用SELinux。检查并配置PHP.ini,确保已添加必要的扩展和进行正确设置。启动或重启PHP-FPM服务。检查DNS设置是否存在解析问题。

php8和php7哪个好php8和php7哪个好Nov 16, 2023 pm 03:09 PM

PHP8相较于PHP7在性能、新特性和语法改进、类型系统、错误处理和扩展等方面都有一些优势和改进。然而,选择使用哪个版本要根据具体的需求和项目情况来决定。详细介绍:1、性能提升,PHP8引入了Just-in-Time(JIT)编译器,可以提高代码的执行速度;2、新特性和语法改进,PHP8支持命名参数和可选参数的声明,使得函数调用更加灵活;引入了匿名类、属性的类型声明等等。

如何在系统重启后自动设置unixsocket的权限?如何在系统重启后自动设置unixsocket的权限?Mar 31, 2025 pm 11:54 PM

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

记录一次用strace诊断php占用系统资源过高的问题记录一次用strace诊断php占用系统资源过高的问题May 03, 2024 pm 04:31 PM

本地环境:redhat6.7系统。nginx1.12.1,php7.1.0,代码使用yii2框架问题:本地的web站需要用到elasticsearch服务。当php使用本地服务器搭建的elasticsearch时,本地的负载都是正常。当我使用aws的elasticsearchservice服务时,本地服务器出现负载经常过高的情况。查看nginx和php日志,发现没有异常。系统的并发连接数也不高。这时候想到我们老大给我讲的一个strace诊断工具。调试过程:查找一个php的子进程idstrace-

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를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

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

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는