Quite Night 〜PHP〜 (2023/01/25) 発表資料
What are immutable arrays in PHP1)1ͷJNNVUBCMFBSSBZͱ2VJUF/JHIUʙ1)1ʙ ൃදࢿྉ!IOX
View Slide
ࣗݾհ❖ !IOX❖ ॴଐɿ,-BCגࣜձࣾ❖ 8FBSFIJSJOH❖ 1)1ຊମͷ$ιʔείʔυΛಡΉͷ͕झຯ❖ 1)1ຊମͷόάΛ݅ใࠂ
ࣗݾհ1)1FS,BJHJ1)1ΧϯϑΝϨϯεؔ
ຊϓϨθϯͷΰʔϧ*NNVUBCMFBSSBZͷΛ௨ͯ͡Έͳ͞Μ͕1)1ͷ෦࣮ʹڵຯΛ࣋ͭ
*NNVUBCMFʢϓϩάϥϛϯά༻ޠʣͬͯ͝ଘͰ͠ΐ͏͔
*NNVUBCMFͱ❖ ʮͷมߋ͕Ͱ͖ͳ͍ʯͷҙຯ❖ ྫɿ1ZUIPOͷUVQMF❖ JNNVUBCMFͳσʔλߏ❖ ҙݸͷఆͷΛදݱ͢Δ❖ ཁૉͷॻ͖͑ɾՃɾআͰ͖ͳ͍
1)1ͷJNNVUBCMFBSSBZͱ❖ 1)1ͷݴޠ্༷ͷ֓೦Ͱͳ͍❖ ެࣜϚχϡΞϧʹొ͠ͳ͍❖ શΩʔɾશཁૉ͕ϦςϥϧͰ͋Δྻͷ෦্࣮ͷ໊લ❖ 1)1ͷߴԽϓϩδΣΫτͰJNNVUBCMFBSSBZʹಛԽͨ͠࠷దԽ͕࣮͞Εͨ
1)1ͷΒΕ͟Δੑೳվળ❖ ϨίʔυɺΧϥϜͷ࣍ݩྻΛฦ͢ྫ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.࣮ߦPQDPEF1)1
;FOE7.ͱ❖ PQDPEFʢ7.໋ྩʣΛ࣮ߦ͢ΔԾ$16࣮❖ ೋஈߏ͑ͷ࣮❖ εΫϦϓτݴޠ͔ΒPQDPEFͷมث❖ PQDPEFͷ࣮ߦث
1)1Ͳ͏࣮ߦ͞Ε͍ͯΔ͔ʁ ❖ 01DBDIFPQDPEFΛΩϟογϡ͢Δ❖ ճҎ߱ͷ࣮ߦ࣌ʹίϯύΠϧॲཧΛεΩοϓͰ͖ΔίϯύΠϧॲཧ7.࣮ߦ࠷దԽPQDPEFPQDPEFΩϟογϡPQDPEF1)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(#❖ OHJOYQIQGQN
201DBDIF༗ޮͰॳճΞΫηε࣌ॏ͍ΑͶʁ❖ :FT❖ ॳճΞΫηεͩͱίϯύΠϧॲཧ͔ΒΔͷͰɺྻߏங͢ΔͷʹཁૉͷPQDPEF࣮ߦ͕ඞཁͰ͢❖ ॳճΞΫηε࣌ʹߏஙͨ͠ྻͷ࣮ମ͕Ωϟογϡ͞ΕͯճҎ͍߱·Θ͞Ε·͢
21)1ͷྻશ෦Ωϟογϡରʁ❖ Ωʔ͔ʹͭͰม͕ೖ͍ͬͯͨΒPQDPEFྻʹίϯύΠϧ͞ΕͯෆมྻͷԸܙड͚ΒΕ·ͤΜ❖ ڊେྻͳΜ͚ͩͲෆม͡Όͳ͍߹ɺෆม෦͚ͩผྻʹΓग़͢ͱੑೳվળʹͳΔՄೳੑ͕͋Γ·͢
2ෆมྻΛॻ͖͑ͨΒͲ͏ͳΔʁ❖ ίϐʔΦϯϥΠτʹΑΓίϐʔ͞Εͯॻ͖ΘΓ·͢❖ ෆมʹڞ༗ϝϞϦ্ͷΩϟογϡͷѻ͍❖ ϓϩάϥϚઢͰͷ͍উखԿมΘΒͳ͍