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
490
PHPのimmutable arrayとは
Quite Night 〜PHP〜 (2023/01/25) 発表資料
hnw
January 25, 2023
Tweet
Share
More Decks by hnw
See All by hnw
PHPのARM向け最適化の中身を見てみた
hnw
0
440
PHPerだってPHPから「OKグーグル」したい!
hnw
1
2k
Other Decks in Technology
See All in Technology
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Platform Engineering for Software Developers and Architects
syntasso
1
520
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Taming you application's environments
salaboy
0
180
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
4 Signs Your Business is Dying
shpigford
180
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
It's Worth the Effort
3n
183
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Rails Girls Zürich Keynote
gr2m
94
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
RailsConf 2023
tenderlove
29
900
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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ෆมྻΛॻ͖͑ͨΒͲ͏ͳΔʁ ❖ ίϐʔΦϯϥΠτʹΑΓίϐʔ͞Εͯॻ͖ΘΓ·͢ ❖ ෆมʹڞ༗ϝϞϦ্ͷΩϟογϡͷѻ͍ ❖ ϓϩάϥϚઢͰͷ͍উखԿมΘΒͳ͍