Heim Backend-Entwicklung PHP-Tutorial Einführung in neue Funktionen wie PHP7-Funktionen, Deklarationen, Rückgabewerte usw.

Einführung in neue Funktionen wie PHP7-Funktionen, Deklarationen, Rückgabewerte usw.

May 25, 2018 am 10:44 AM
php php7 函数 声明 特性 返回

Verwenden Sie den...-Operator, um Argumentfunktionen mit variabler Länge zu definieren (PHP 5 >= 5.6.0, PHP 7)

Sie können jetzt den...-Operator verwenden um Parameterfunktionen variabler Länge zu implementieren.

<?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);
?>
Nach dem Login kopieren

Die obige Routine gibt Folgendes aus:

$req: 1; $opt: 0; Anzahl der Parameter: 0
$req: 1; $opt: 2; der Parameter: 0
$req: 1; $opt: 2; $req: 1; $opt: 2; $req: 1; : 2; Anzahl der Parameter: 3


Verwenden Sie... den Operator für die Parametererweiterung (PHP 5 >= 5.6.0, PHP 7)


beim Aufruf von When Verwenden Sie bei Verwendung von Funktionen den ...-Operator, um Arrays und durchlaufbare Objekte in

Funktionsparameter

zu erweitern. In anderen Programmiersprachen, wie etwa Ruby, wird dies als Verkettungsoperator bezeichnet.

Die obige Routine gibt Folgendes aus:
<?php
function add($a, $b, $c) {
 return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);
?>
Nach dem Login kopieren

6


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


use-Operator wurde erweitert, um den Import externer Funktionen und Konstanten in die Klasse zu unterstützen. Die entsprechenden Strukturen sind use function und use const.

Die obige Routine gibt Folgendes aus:
<?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();
}
?>
Nach dem Login kopieren

42


NameSpacef

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


DebugInfo() hinzufügen, mit dem die auszugebenden Attribute und Werte gesteuert werden können, wenn var_dump() zum Ausgeben von Objekten verwendet wird.

Die obige Routine gibt Folgendes aus:
<?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));
?>
Nach dem Login kopieren

object(C)#1 (1) {
 ["propSquared"]=>
 int(1764)
}
Nach dem Login kopieren
Skalare Typdeklaration (PHP 7)


Skalare Typdeklaration hat Zwei Modi: obligatorischer (Standard) und strenger Modus. Die folgenden Typparameter sind jetzt verfügbar (entweder im erzwungenen oder strikten Modus):

string

(string), Integer (int), Gleitkommazahl (float) und boolean (bool). Sie erweitern andere in PHP5 eingeführte Typen: Klassennamen, Schnittstellen, Arrays und Callback-Typen.

Die obige Routine gibt Folgendes aus:
<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
 return array_sum($ints);
}

var_dump(sumOfInts(2, &#39;3&#39;, 4.1));
Nach dem Login kopieren

int(9)


Um den strikten Modus zu verwenden, muss oben eine Deklarationsanweisung platziert werden die Datei. Dies bedeutet, dass Skalare strikt auf Dateibasis als konfigurierbar deklariert sind. Diese Anweisung betrifft nicht nur die Typdeklaration der Parameter, sondern auch die Rückgabewertdeklaration der Funktion

(siehe Rückgabewerttypdeklaration, integrierte PHP-Funktionen und in Erweiterungen geladene PHP-Funktionen)

Rückgabewerttypdeklaration (PHP 7)

PHP 7 fügt Unterstützung für die Rückgabetypdeklaration hinzu. Ähnlich wie die Parametertypdeklaration gibt die Rückgabetypdeklaration den Typ des Rückgabewerts der Funktion an. Die verfügbaren Typen sind dieselben wie die in der Parameterdeklaration verfügbaren.

Die obige Routine gibt Folgendes aus:

<?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]));
Nach dem Login kopieren
Array

(

[0] => 6

[1] => 15
[ 2] => 24
)



Null-Koaleszenzoperator (PHP 7)

Aufgrund der großen Anzahl gleichzeitiger Verwendungen in Täglicher Gebrauch Im Fall von ternären Ausdrücken und isset() fügen wir den Syntaxzucker des Null-Koaleszenzoperators (??) hinzu. Wenn die Variable existiert und nicht NULL ist, gibt sie ihren eigenen Wert zurück, andernfalls gibt sie ihren zweiten Operanden zurück.

Raumschiff-Operator (kombinierter Komparator) (PHP 7)
<?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;;
?>
Nach dem Login kopieren

Der Raumschiff-Operator wird verwendet, um zwei Ausdrücke zu vergleichen. Es gibt -1, 0 oder 1 zurück, wenn $a kleiner, gleich oder größer als $b ist. Das Vergleichsprinzip folgt den regulären Vergleichsregeln von PHP.

Konstanten-Arrays über define() definieren (PHP 7)
<?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
?>
Nach dem Login kopieren

Konstanten vom Typ Array können jetzt über define() definiert werden. In PHP5.6 kann es nur über const definiert werden.

Das obige ist der detaillierte Inhalt vonEinführung in neue Funktionen wie PHP7-Funktionen, Deklarationen, Rückgabewerte usw.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

See all articles