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
PHPのimmutable arrayとは
Search
hnw
January 25, 2023
Technology
1
630
PHPのimmutable arrayとは
Quite Night 〜PHP〜 (2023/01/25) 発表資料
hnw
January 25, 2023
Tweet
Share
More Decks by hnw
See All by hnw
業務でAIを使いたい話
hnw
0
350
PHPのARM向け最適化の中身を見てみた
hnw
0
680
PHPerだってPHPから「OKグーグル」したい!
hnw
1
2.5k
Other Decks in Technology
See All in Technology
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
230
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
1
240
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
1
190
2026年はチャンキングを極める!
shibuiwilliam
8
1.7k
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
160
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
680
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
110
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
280
Lambda Durable FunctionsでStep Functionsの代わりはできるのかを試してみた
smt7174
3
170
Tebiki Engineering Team Deck
tebiki
0
23k
Riverpod3.xで実現する実践的UI実装
fumiyasac0921
2
360
Featured
See All Featured
How to make the Groovebox
asonas
2
1.9k
Unsuck your backbone
ammeep
671
58k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Marketing to machines
jonoalderson
1
4.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
130
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
How to Talk to Developers About Accessibility
jct
2
120
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2k
Designing for Timeless Needs
cassininazir
0
120
KATA
mclloyd
PRO
34
15k
Transcript
What are immutable arrays in PHP 1)1ͷJNNVUBCMF BSSBZͱ 2VJUF/JHIUʙ1)1ʙ
ൃදࢿྉ !IOX
ࣗݾհ ❖ !IOX ❖ ॴଐɿ,-BCגࣜձࣾ ❖ 8FBSFIJSJOH ❖ 1)1ຊମͷ$ιʔείʔυΛಡΉͷ͕झຯ ❖
1)1ຊମͷόάΛ݅ใࠂ
ࣗݾհ 1)1FS,BJHJ 1)1ΧϯϑΝϨϯεؔ
ຊϓϨθϯͷΰʔϧ *NNVUBCMFBSSBZͷΛ௨ͯ͡ Έͳ͞Μ͕1)1ͷ෦࣮ʹڵຯΛ࣋ͭ
*NNVUBCMFʢϓϩάϥϛϯά༻ޠʣ ͬͯ͝ଘͰ͠ΐ͏͔
*NNVUBCMFͱ ❖ ʮͷมߋ͕Ͱ͖ͳ͍ʯͷҙຯ ❖ ྫɿ1ZUIPOͷUVQMF ❖ JNNVUBCMFͳσʔλߏ ❖ ҙݸͷఆͷΛදݱ͢Δ ❖
ཁૉͷॻ͖͑ɾՃɾআͰ͖ͳ͍
1)1ͷJNNVUBCMFBSSBZͱ ❖ 1)1ͷݴޠ্༷ͷ֓೦Ͱͳ͍ ❖ ެࣜϚχϡΞϧʹొ͠ͳ͍ ❖ શΩʔɾશཁૉ͕ϦςϥϧͰ͋Δྻͷ෦্࣮ͷ໊લ ❖ 1)1ͷߴԽϓϩδΣΫτͰJNNVUBCMFBSSBZʹಛԽ ͨ͠࠷దԽ͕࣮͞Εͨ
1)1ͷΒΕ͟Δੑೳվળ ❖ ϨίʔυɺΧϥϜͷ࣍ݩྻΛฦ͢ྫ <?php function foo() { return [ "x1"=>["foo"=>1,"bar"=>2/*
(ུ) */,"thud"=>13], "x2"=>["foo"=>1,"bar"=>2/* (ུ) */,"thud"=>13], /* 30000ߦলུ */ "x30000"=>["foo"=>1,"bar"=>2/* (ུ) */,"thud"=>13], ]; } foo();
1)1ͷΒΕ͟Δੑೳվળ ❖ 1)1ͱൺͯ1)1ஈҧ͍ʹ͍
1)1ͷΒΕ͟Δੑೳվળ ❖ 01DBDIF֦ுͳͩ͠ͱࠩഒఔ
͜Ε΄Ͳͷ͕ࠩ ͳͥੜ·ΕΔͷ͔ʁ
1)1Ͳ͏࣮ߦ͞Ε͍ͯΔ͔ʁ ❖ 1)1εΫϦϓτͦͷ··Ͱ࣮ߦͰ͖ͳ͍ ❖ PQDPEFྻʹίϯύΠϧͯ͠;FOE7.্Ͱ࣮ߦ͢Δ ίϯύΠϧॲཧ 7.࣮ߦ PQDPEF 1)1
;FOE7.ͱ ❖ PQDPEFʢ7.໋ྩʣΛ࣮ߦ͢ΔԾ$16࣮ ❖ ೋஈߏ͑ͷ࣮ ❖ εΫϦϓτݴޠ͔ΒPQDPEFͷมث ❖ PQDPEFͷ࣮ߦث
1)1Ͳ͏࣮ߦ͞Ε͍ͯΔ͔ʁ ❖ 01DBDIFPQDPEFΛΩϟογϡ͢Δ ❖ ճҎ߱ͷ࣮ߦ࣌ʹίϯύΠϧॲཧΛεΩοϓͰ͖Δ ίϯύΠϧॲཧ 7.࣮ߦ ࠷దԽ PQDPEF
PQDPEF Ωϟογϡ PQDPEF 1)1
௨ৗͷྻߏங ❖ ௨ৗɺྻߏஙPQDPEFྻʹίϯύΠϧ͞ΕΔ ❖ ʮྻʹཁૉΛՃ͢Δʯ͕ݸͷPQDPEF ❖ ສཁૉͷྻͳΒ7.໋ྩΛສճ࣮ߦ 1)1ϓϩηε ڞ༗ϝϞϦ ʢ01DBDIFཧʣ
ྻߏஙͷPQDPEF ʜ ྻͷ࣮ମ ྻߏங
1)1ͷJNNVUBCMFBSSBZ ❖ 1)1ͰJNNVUBCMFBSSBZͷ࣮ମ͕Ωϟογϡର ❖ 7.໋ྩΛ࣮ߦͤͣʹߏஙࡁΈྻʹΞΫηεͰ͖Δ ڞ༗ϝϞϦ ʢ01DBDIFཧʣ ྻͷ࣮ମ 1)1ϓϩηε ෆมྻͷΞΫηε
1)1ͷJNNVUBCMFBSSBZ ❖ 1)1ͰJNNVUBCMFBSSBZͷ࣮ମ͕Ωϟογϡର ❖ ϓϩηεؒͰ࣮ମΛڞ༗Ͱ͖ΔͷͰলϝϞϦ ڞ༗ϝϞϦ ʢ01DBDIFཧʣ ྻͷ࣮ମ 1)1ϓϩηε 1)1ϓϩηε
1)1ϓϩηε
·ͱΊ ❖ ࠷ۙͷ1)1ͩͱJNNVUBCMFBSSBZߴɾলϝϞϦ ❖ શΩʔɾશཁૉ͕ϦςϥϧͷྻʹಛԽͨ͠࠷దԽ ❖ ྻͷ࣮ମ͕01DBDIFͷΩϟογϡର ❖ શ1)1ϓϩηεͰಉ࣮͡ମΛڞ༗ ❖
1)1ͷ෦࣮ʹڵຯΛ࣋ͬͯΒ͑ͨΒخ͍͠Ͱ͢ ❖ 4MBDLάϧʔϓQIQVTFSTKBͰօ͞ΜϚχΞοΫͳΛ ͯͨ͠Γ͠·͢ɺ͓קΊͰ͢ʢṖͷએʣ
͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠
೦ͷͨΊҙ ❖ ͜ͷखͷੑೳൺֱΛਅʹड͚͗͢ͳ͍ͰԼ͍͞😉 ❖ ϘτϧωοΫҎ֎Λͯ͘͠શମͷӨڹܰඍ ❖ େͷݱͰੑೳΑΓอकੑ͕େࣄ
ิςετڥͷৄࡉ ❖ .BDNJOJ ❖ 04NBD04.PKBWF ❖ $16()[*OUFM$PSFJ ❖
NFNPSZ(# ❖ OHJOY QIQGQN
201DBDIF༗ޮͰॳճΞΫηε࣌ॏ͍ΑͶʁ ❖ :FT ❖ ॳճΞΫηεͩͱίϯύΠϧॲཧ͔ΒΔͷͰɺྻߏ ங͢ΔͷʹཁૉͷPQDPEF࣮ߦ͕ඞཁͰ͢ ❖ ॳճΞΫηε࣌ʹߏஙͨ͠ྻͷ࣮ମ͕Ωϟογϡ͞Ε ͯճҎ͍߱·Θ͞Ε·͢
21)1ͷྻશ෦Ωϟογϡରʁ ❖ Ωʔ͔ʹͭͰม͕ೖ͍ͬͯͨΒPQDPEFྻʹί ϯύΠϧ͞ΕͯෆมྻͷԸܙड͚ΒΕ·ͤΜ ❖ ڊେྻͳΜ͚ͩͲෆม͡Όͳ͍߹ɺෆม෦͚ͩ ผྻʹΓग़͢ͱੑೳվળʹͳΔՄೳੑ͕͋Γ·͢
2ෆมྻΛॻ͖͑ͨΒͲ͏ͳΔʁ ❖ ίϐʔΦϯϥΠτʹΑΓίϐʔ͞Εͯॻ͖ΘΓ·͢ ❖ ෆมʹڞ༗ϝϞϦ্ͷΩϟογϡͷѻ͍ ❖ ϓϩάϥϚઢͰͷ͍উखԿมΘΒͳ͍