Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP8.5から導入されたパイプ演算子
Search
上垣雅弘 / UEGAKI Masahiro
June 22, 2026
Programming
7
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP8.5から導入されたパイプ演算子
えびてく #7 で発表したライトニングトークのスライドです。
https://ebitech.connpass.com/event/393193/
上垣雅弘 / UEGAKI Masahiro
June 22, 2026
More Decks by 上垣雅弘 / UEGAKI Masahiro
See All by 上垣雅弘 / UEGAKI Masahiro
札幌PHP勉強会で得た知見とPHP_Sapporoでやりたい事
uegaki_masahiro
0
4
札幌PHP勉強会 2年の振り返りと反省と今後の展望
uegaki_masahiro
0
58
印刷オペレーターから札幌市IT人材雇用プログラム研修1期生としてITキャリアを始めたお話
uegaki_masahiro
0
45
PHP_CakePHP_で開発された国産CMSのbaserCMSのお話.pdf
uegaki_masahiro
0
88
Other Decks in Programming
See All in Programming
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.6k
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.2k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
霧の中の代数的エフェクト
funnyycat
1
440
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
460
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
5.7k
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
470
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
410
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
240
Featured
See All Featured
Visualization
eitanlees
152
17k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Prompt Engineering for Job Search
mfonobong
0
380
Building Flexible Design Systems
yeseniaperezcruz
330
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Claude Code のすすめ
schroneko
67
230k
Designing for humans not robots
tammielis
254
26k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
470
Transcript
PHP8.5から導入されたパイプ演算子 2026年6月20日 えびてく #7 上垣 雅弘
自己紹介 名前 : 上垣 雅弘 ハンドルネーム : 睦月 Xアカウント :
@ichigatu 札幌PHP勉強会の運営をしています。 猫の動画を見るのが好きです。 最近、モータルコンバット/ネクストラウンドを 映画館で観ました。
パイプ演算子(|>)が追加されました。 マニュアルより抜粋 https://www.php.net/manual/ja/language.ope rators.functional.php 最新のPHP8.5に追加された機能は?
PHP 8.5 以降では、callable に直接値を渡す演算子を サポートしています。 |> 演算子、または "パイプ" は、 右辺にパラメーターをひとつ取る
callable を受け入れ、 左辺値をそれに渡し、callable の結果を評価します。 右 辺の callable は、有効な PHP の callable であれば何 でも構いません: つまり、Closure、 第一級callableを 生成する記法、 __invoke() を実装したオブジェクトな どです。 パイプ演算子とは?
分かりやすく書くと、|>の左辺で実行した関数の結果を 右辺に渡して実行できる。 なるほど、分からん
<?php $result = "Hello World" |> strlen(...); echo $result, PHP_EOL;
$result = strlen("Hello World"); echo $result, PHP_EOL; ?> 例1 |> を使う
11 11 例1 出力結果
<?php $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); ?> 例2 |> の呼び出しをチェインさせる パイプ演算子を使わない場合
Array ( [0] => P [1] => H [2] =>
P [3] => [4] => R [6] => C [7] => K [8] => S ) 実行結果
• $tempに”PHP Rocks”という文字列を格納 • HTML特殊文字の変換 • 文字列を「1文字ずつ」の配列に分解 • すべての文字を「大文字」に変換 •
文字 'O' を取り除く(フィルタリング) • 結果の代入と出力 何をやってるのか?
何行も$tempに格納されている配列が変更されて デバッグ時にも何回も変更されるので メンテンナンス性が非常に悪い。 とはいえネストして1行でまとめると、コードの 可読性が悪くなってしまう。 そこでパイプ演算子。 メンテナンス性の問題
<?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); ?> パイプ演算子を使った場合
1つの変数や配列に対して処理をする場合、 数行に渡って関数を実行したり、 関数のネストをするよりも、PHP8.5で追加された パイプ演算子を使うことによってすっきり書けるように なった。 まとめ
モータルコンバット/ネクストラウンドを 観に行こう! 最後に