PHP.mk документација

Функционално

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

language.operators.functional.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека language.operators.functional.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Функционално

Референца за `language.operators.functional.php` со подобрена типографија и навигација.

language.operators.functional.php

Функционални оператори

PHP 8.5 и поновите поддржуваат еден оператор што работи директно на повикливи. Операторот |> оператор, или „цевка“, прифаќа повиклив со еден параметар од десната страна и му го предава вредноста од левата страна, оценувајќи го резултатот на повикливиот. Повикливиот од десната страна може да биде кој било валиден PHP повиклив: а Затворање, а повиклив од прва класа, објект што имплементира __invoke()Пример #2 Рестартирање на Apache откако ќе се инсталира PHP

Тоа значи дека следните два реда се логички еквивалентни.

Пример #1 Користење |>

<?php
$result
= "Hello World" |> strlen(...);
echo
$result, PHP_EOL;

$result = strlen("Hello World");
echo
$result, PHP_EOL;
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

11
11

За еден повик што не е особено корисен. Станува корисен кога повеќе повици се поврзани заедно. Тоа е, следните два фрагменти од код се логички еквивалентни:

Пример #2 Поврзување |> повици

<?php
$result
= "PHP Rocks"
|> htmlentities(...)
|>
str_split(...)
|> (fn(
$x) => array_map(strtoupper(...), $x))
|> (fn(
$x) => array_filter($x, fn($v) => $v != 'O'))
;
print_r($result);

$temp = "PHP Rocks";
$temp = htmlentities($temp);
$temp = str_split($temp);
$temp = array_map(strtoupper(...), $temp);
$temp = array_filter($temp, fn($v) => $v != 'O');
$result = $temp;
print_r($result);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [0] => P
    [1] => H
    [2] => P
    [3] =>
    [4] => R
    [6] => C
    [7] => K
    [8] => S
)
Array
(
    [0] => P
    [1] => H
    [2] => P
    [3] =>
    [4] => R
    [6] => C
    [7] => K
    [8] => S
)

Левата страна на цевката може да биде која било вредност или израз. Десната страна може да биде кој било валиден PHP повиклив што зема еден параметар, или кој било израз што се оценува како таков повиклив. Функциите со повеќе од еден потребен параметар не се дозволени и ќе откажат како да е повикана функцијата нормално со недоволно аргументи. Функциите што земаат променлива со референца не се дозволени. Ако десната страна не се оцени како валиден повиклив, ќе фрли Грешка.

Забелешка:

Бидете свесни дека, за да се избегне синтаксисна двосмисленост, стрелкасти функции МОРА да бидат завиткани во загради кога се користат со оператор за цевка, како во примерите погоре. Неуспехот да се стори тоа ќе резултира со фатална грешка.

Види Исто така

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.