Slide 1

Slide 1 text

 1)1$POGFSFODF+BQBO ೥΋ͷͷڊେϨΨγʔϓϩμΫτΛ 1)1ʹΞοϓσʔτͨ͠ࡍͷରࡦͱಘΒΕͨ஌ݟ αΠϘ΢ζגࣜձࣾ ੺ؒਔࢤ 

Slide 2

Slide 2 text

1)1ͷ&0-͸΋͏͙͢ʂ w 1)1ͷηΩϡϦςΟमਖ਼ͷఏڙ͸·Ͱ IUUQTXXXQIQOFUTVQQPSUFEWFSTJPOTQIQ ŘŵŠŠʂ 

Slide 3

Slide 3 text

1)1ͷ&0-͸΋͏͙͢ʂ w 1)1ͷηΩϡϦςΟमਖ਼ͷఏڙ͸·Ͱ IUUQTXXXQIQOFUTVQQPSUFEWFSTJPOTQIQ ŘŵŠŠʂ  1)1ܥʹΞοϓσʔτ͠Α͏ʂ

Slide 4

Slide 4 text

ࣗݾ঺հ w ੺ؒਔࢤ ͔͋·ͻͱ͠   ग़਎஍ɿౡࠜݝদߐࢢ  झຯ͸ϓϥϨʔϧͰܭࢉ͢Δ͜ͱ w αΠϘ΢ζגࣜձࣾʹ೥৽ଔೖࣾ  (BSPPO։ൃνʔϜʹॴଐ w 1)1ྺ͸ʙ೥͘Β͍  ϓϥϨʔϧCJUΧ΢ϯλ

Slide 5

Slide 5 text

ຊηογϣϯͷ֓ཁ w ϨΨγʔϓϩμΫτͷ1)1ͷόʔδϣϯΛ͔Βʹߋ৽͠·ͨ͠  ؙҰ೥͔͔Γ·ͨ͠  େ͖ͳτϥϒϧͳ͘׬਱Ͱ͖·ͨ͠ w Ͳ͏͍ͬͨ՝୊͕͋ΓɺͲͷΑ͏ͳରࡦΛͱ͔ͬͨΛڞ༗͠·͢  ͱʹ͔͘ޓ׵ੑʹ·ͭΘΔ໰୊Λૣظൃݟ͢Δ͜ͱ͕ॏཁ

Slide 6

Slide 6 text

ΞδΣϯμ w എܠ w ϦϦʔεαΠΫϧͱϒϥϯνઓུ w ൺֱԋࢉࢠͷରࡦ w ઈົʹڍಈ͕มΘΔඪ४ϥΠϒϥϦؔ਺ w ·ͱΊ 

Slide 7

Slide 7 text

αΠϘ΢ζͷ(BSPPOʹ͍ͭͯ w தن໛ʙେن໛ͳ૊৫޲͚ͷάϧʔϓ΢ΣΞ  ༧ఆڞ༗ɺίϛϡχέʔγϣϯͳͲɺ૊৫ͷνʔϜϫʔΫΛࢧԉ w DZCP[VDPN͕ఏڙ͢ΔΫϥ΢υ൛ͱɺΦϯϓϨ൛Λఏڙ w ࠓ೥Ͱఏڙ։͔࢝Βप೥ʢΫϥ΢υ൛͸೥͔Βʣ w όοΫΤϯυ͸1)1 .Z42-  ಠࣗϑϨʔϜϫʔΫ 

Slide 8

Slide 8 text



Slide 9

Slide 9 text

(BSPPOͷ։ൃঢ়گ w 1)1ͷ࣌୅͔Β೥ଓ͘఻౷ͷιʔείʔυ  SFRVJSF@PODFɺԋࢉࢠΛଟ༻ɻݹ͍ίʔυͷՄಡੑ͕௿͍ w ௒ڊେͳίʔυϕʔεʢ1)1͚ͩͰ໿ສߦʣ w ϢχοτςετͷΧόϨοδ͸໿  ίʔυͷอक͚ͩͰ΋ෛ୲͕େ͖͍

Slide 10

Slide 10 text

1)1ຊମͷϏϧυ w (BSPPOͰ͸1)1ຊମΛࣗલͰϏϧυ͍ͯ͠Δ w (BSPPOಠࣗͷ1)1֦ு͕͋Δʢ$ݴޠͰॻ͔Ε͍ͯΔʣ w 1)1ຊମͷίʔυΛվ଄͍ͯ͠Δ  ύονϑΝΠϧͱͯ͠վ଄ՕॴΛϦϙδτϦʹ഑ஔ  1)1ͷϏϧυपΓ΋(BSPPOͷ։ൃʹؚ·ΕΔ

Slide 11

Slide 11 text

1)1Ξοϓσʔτͷಈػ  ηΩϡϦςΟ  άϧʔϓ΢ΣΞ͸ར༻ऀͷϏδωεʹ௚݁͢Δ  ৗʹηΩϡϦςΟमਖ਼ΛऔΓࠐΊΔঢ়ଶʹ͢Δ  ࠷৽ͷݴޠػೳΛར༻ͨ͠։ൃޮ཰ͷ޲্  ҆શʹ࢖͍ଓ͚͍ͯͨͩͨ͘Ίʹɺ΍Βͳ͚Ε͹ͳΒͳ͍

Slide 12

Slide 12 text

(BSPPOʹ͓͚Δ1)1Ξοϓσʔτ w ೥ʹҰ౓ɺ1)1ͷϦϦʔεαΠΫϧΑΓগʑ஗Ε࣮ͯࢪ  ೥݄ɿˠ w ϦϦʔε࣌͸1)1ΞοϓσʔτҎ֎ͷมߋΛۃྗ͠ͳ͍ w ຊ൪؀ڥ΁ͷద༻લʹɺαΠϘ΢ζࣾ಺ͰҰϲ݄΄Ͳӡ༻͢Δ  1)1ͷΞοϓσʔτʹ͸༷ʑͳߟྀ͕ඞཁ

Slide 13

Slide 13 text

Ϗδωεཁ݅ͱͷંΓ߹͍ w Ϋϥ΢υ൛ͷϦϦʔε͸݄Ұͷఀࢭϝϯςφϯε࣌ͷΈՄೳ  ͦΕҎ֎ͷఀࢭ͸ڐ͞Εͳ͍ w ΦϯϓϨ൛͸೥ʹҰ౓ͷϦϦʔε  ෆ۩߹मਖ਼ʹ͸௥ՃͰϦϦʔε͕ඞཁ w طଘͷػೳʹෆ۩߹Λग़͞ͳ͍͜ͱ͕࠷༏ઌ  ϓϩμΫτͷ඼࣭ʹର͢Δཁٻ͕ߴ͍

Slide 14

Slide 14 text

1)1Ξοϓσʔτͷεέδϡʔϧ  ೥ ೥               ϦϦʔε ࣄલௐࠪɾ৘ใऩू ຊௐࠪ Ͱͷ࣮૷ ςετ Ͱͷ࣮૷ ෆ۩߹मਖ਼ɾςετ ࣾ಺ద༻ ௐࠪ༻ϒϥϯνͰͷ࡞ۀ ໰୊ݕग़

Slide 15

Slide 15 text

ΞδΣϯμ w എܠ wϦϦʔεαΠΫϧͱϒϥϯνઓུ w ൺֱԋࢉࢠͷରࡦ w ઈົʹڍಈ͕มΘΔඪ४ϥΠϒϥϦؔ਺ w ·ͱΊ 

Slide 16

Slide 16 text

1)1ΞοϓσʔτͷྲྀΕ  ·ͣ͸ӨڹͷௐࠪΛ͢Δͱ͜Ζ͔Β Өڹௐࠪ ࣮૷ ςετ ϦϦʔε

Slide 17

Slide 17 text

Өڹௐࠪ w ੡඼ͷػೳʹӨڹΛ༩͑ͳ͍ͨΊʹ w 1)1Ͱมߋ͞Εͨશͯͷ߲໨Λ w (BSPPOͷϦϙδτϦͷશͯͷ1)1ίʔυʹରͯ͠  పఈతʹௐࠪ

Slide 18

Slide 18 text

ௐࠪ಺༰ w 1)1ϚχϡΞϧʹैͬͯߦ͏ w 1)1͸໿݅ͷมߋ  1)1͸݅ऑ w ௐࠪ݁ՌΛݩʹόοΫϩά࡞੒  IUUQTXXXQIQOFUNBOVBMKBNJHSBUJPOQIQ

Slide 19

Slide 19 text

ϦϦʔεεύϯ w Ϋϥ΢υ൛(BSPPOͷϦϦʔεεύϯ͸௕͍  ϲ݄ʹճͷ৽ػೳ  ϲ݄͝ͱʹෆ۩߹मਖ਼ͳͲ w ෳ਺ͷόʔδϣϯ͕ฒߦͰ։ൃ͕ਐΉ w 1)1ͷ։ൃதͰ΋ɺผͷϒϥϯνʹͲΜͲΜίϛοτ͞ΕΔ  ৽ػೳ։ൃͱฒߦͯ͠1)1ΞοϓσʔτΛߦ͏ඞཁ͕͋Δ

Slide 20

Slide 20 text

ฒߦͰ։ൃ͢Δࡍͷ໰୊఺ w ฒߦ͢Δػೳ։ൃϒϥϯνͷ1)1͸·ͩ  কདྷతʹ1)1ʹͨ͠ࡍʹ໰୊͕ൃੜ͢ΔՄೳੑ w ৽ن։ൃ෼ͷίʔυʹରͯ͠΋ɺ1)1ͷӨڹΛௐࠪɾରࡦ͢Δඞཁ͋Γ  1)1ϒϥϯν ओྲྀϒϥϯν 

Slide 21

Slide 21 text

 ৽͍͠ίϛοτʹରͯ͠ ݅ͷӨڹௐࠪΛ౎౓ߦ͏ඞཁ͕͋Δ 1)1։ൃϒϥϯν ཌ݄൛(BSPPO ཌʑ݄൛(BSPPO

Slide 22

Slide 22 text

ௐࠪίετ΁ͷରࡦ w ֤߲໨ͷௐࠪํ๏ͱௐࠪ݁ՌΛ෼͚Δ  มߋ఺ ௐࠪํ๏ ௐࠪ݁Ռ ϒϥϯν ϑΝΠϧ9ͰBCT Λ࢖༻ ϒϥϯν ֘౰ͳ͠ TUSJDU@UZQFTͷϑΝΠϧͰ͜ΕΒͷؔ਺Λ࢖༻͢Δ͔ௐࠪ BCT ͳͲͷ਺ֶؔ਺͕TUSJDU@UZQFTʹਖ਼͘͠ै͏Α͏ʹͳͬͨ

Slide 23

Slide 23 text



Slide 24

Slide 24 text

෼͚ͨ͜ͱͷޮՌ w ͦΕͧΕͷมߋ఺ʹ͍ͭͯ஌ݟ͕ਂ·ΓɺνʔϜ಺Ͱௐࠪํ๏Λ౷ҰͰ͖ͨ w ߲໨ʹΑͬͯ͸ࣗಈతʹௐࠪͰ͖ͨ w ࣗಈௐࠪ༻ͷεΫϦϓτΛ࡞੒  ਓྗͰௐࠪ͢Δ߲໨͸݅΄Ͳʹ  Ϛʔδ࣌ͷӨڹௐࠪͷίετΛ࡟ݮͰ͖ͨ

Slide 25

Slide 25 text

ϚχϡΞϧΛಡΜ͚ͩͩͰશͯ͏·͍͔͘͘ʁ w ࣮ࡍʹͲΕ͘Β͍໰୊͕ग़Δ͔͸ະ஌਺ w ϚχϡΞϧʹॻ͍ͯͳ͍͜ͱ͕Өڹ͢Δ͔΋͠Εͳ͍  Ͳ͜·Ͱमਖ਼ΛՃ͑Ε͹$*͕௨ΔΑ͏ʹͳΔʁ

Slide 26

Slide 26 text

(BSPPOͷ$* $JSDMF$* w 1)1Ξοϓσʔτʹେ͖ؔ͘ΘΔͷ͸ҎԼͷεςοϓ  1)1ຊମͷϏϧυ͸ঢ়گ͕ෳࡶ 1)1ͷϏϧυ Ϣχοτςετ 1)16OJU &&ςετ 4FMFOJVN

Slide 27

Slide 27 text

1)1ͷόʔδϣϯ্͚ͩ͛ͨϒϥϯν w ςετɾϨϏϡʔෆཁͷঢ়ଶͰΨϯΨϯ໰୊Λղফ͍ͯͬͯ͠ΈΔ w ݟ͔ͭͬͨ໰୊ɿ  1)1ຊମ͕มߋ͞ΕͨͨΊύονϑΝΠϧ͕ద༻Ͱ͖ͳ͍  1)1֦ுͰఆٛ͞ΕͨΫϥεͷίϯετϥΫλ໊͕ݹ͍ܗࣜͩͬͨ  ϚχϡΞϧΛಡΉ͚ͩͰ͸෼͔Βͳ͍໰୊ΛૣظൃݟͰ͖ͨ

Slide 28

Slide 28 text

ϒϥϯνઓུɿ·ͱΊ w 1)1ͷΞοϓσʔτ͸ฒߦ͢ΔϒϥϯνͰߦΘΕΔ  1)1ͷόʔδϣϯΛৗʹҙࣝͯ͠։ൃΛਐΊΔ w ௐࠪํ๏ͱௐࠪ݁ՌΛ෼཭͢Δ͜ͱͰௐࠪͷݟ௨͕͠Α͘ͳΔ  ࠶ݱੑͷ͋Δௐࠪํ๏ΛνʔϜͰڞ༗Ͱ͖Δ w 1)1ͷόʔδϣϯ্͚ͩ͛ΔϒϥϯνͰࢼͯ͠ΈΔ  ੡඼ݻ༗ͷ໰୊Λૣ͍ஈ֊Ͱચ͍ग़͢͜ͱ͕Ͱ͖Δ 

Slide 29

Slide 29 text

ΞδΣϯμ w എܠ w ϦϦʔεαΠΫϧͱϒϥϯνઓུ wൺֱԋࢉࢠͷରࡦ w ઈົʹڍಈ͕มΘΔඪ४ϥΠϒϥϦؔ਺ w ·ͱΊ 

Slide 30

Slide 30 text

1)1Ͱ͸ൺֱԋࢉ͕มΘΔ  1)13'$4BOFSTUSJOHUPOVNCFSDPNQBSJTPOT  1)13'$4BOFSOVNFSJDTUSJOHT w ͲͪΒ΋ڍಈΛ௚ײతͰ੔߹ੑΛͱΔΑ͏ʹ͢ΔఏҊ  ੈͷதʹ͸ͦ͏͍ͬͨڍಈʹʢ҉໧తʹʣґଘ͍ͯ͠ΔγεςϜ΋͋Δ  ϓϩάϥϛϯάݴޠͷࠜװʹؔΘΔಈ࡞͕มΘΔ

Slide 31

Slide 31 text

ൺֱԋࢉࢠͷڍಈมԽ  w จࣈྻWT਺஋ͷൺֱํ๏͕มԽ  1)1 1)1 1)1 ਺஋ܗࣜ 'hoge' == 0 'hoge' == 0 '25.0' == 25 (int)'hoge' == 0 'hoge' == (string)0 (double)'25.0' == 25 0 == 0 'hoge' == '0' 25.0 == 25 true false true (ͱมΘΒͣ)

Slide 32

Slide 32 text

ൺֱԋࢉࢠͷڍಈมԽ  w จࣈྻಉ࢜ͷൺֱ΋มΘΔ  1)1 1)1 '42' == '42 ' '42' == '42 ' '42 ' ͕਺஋ܗࣜͰ͸ͳ͍ '42 ' ͕਺஋ܗࣜͱͳΔ จࣈྻͱͯ͠ൺֱ ਺஋ʹม׵ͯ͠ൺֱ false true

Slide 33

Slide 33 text

มԽ͢Δԋࢉࢠɾؔ਺ w ݫີͰͳ͍ൺֱԋࢉࢠ͢΂ͯ ==, != ͷଞʹ΋ >, >=, <, <=, <=> ΋Өڹ w ഑ྻૢ࡞ܥͷඪ४ؔ਺ɿin_array(), array_search(), array_keys() w ιʔτܥͷؔ਺ɿsort(), rsort(), ...  ԋࢉࢠҎ֎ʹ΋มԽ͕͋Δʂ

Slide 34

Slide 34 text

(BSPPOʹର͢ΔӨڹ w  ߦҎ্ ԋࢉࢠ͕࢖ΘΕ͍ͯΔՕॴ w ϩδοΫʹؒҧ͍ͳ͘Өڹ͢Δ  σʔλϕʔεʹෆ੔߹͕ى͜Δ͜ͱ͸ઈରʹආ͚͍ͨ

Slide 35

Slide 35 text

Կ͔ରࡦ͸ͳ͍͔ʁ w ίʔυ্ͰӨڹΛௐ΂Δͷ͸ݱ࣮తͰ͸ͳ͍  ຊ൪σʔλϕʔεͷ஋͸ଟछଟ༷ w ࣮ࡍʹςετ͢Δ͔͠ͳ͍  ࡉ͔͍ϩδοΫ͕มΘͬͨ͜ͱΛݕग़Ͱ͖Δ͔ʁ  if ($id == 0) { ... ࣮ߦ࣌ʹ݁Ռ͕Θ͔Δ͜ͱΛݕ஌Ͱ͖ͳ͍͔ʁ if ($id == 0) { ... if ($id == 0) { ... if ($id == 0) { ...

Slide 36

Slide 36 text

ରࡦ w 1)1ຊମΛվ଄͢ΔύονΛ࡞੒ w 1)1ͱͰ݁Ռ͕มΘΔΑ͏ͳൺֱԋࢉΛݕग़ w &@8"3/*/(Ϩϕϧͷ1)1ΤϥʔΛ౤͛ΔΑ͏ʹ͢Δ  1)1ຊମͷൺֱԋࢉΛߦ͏ॲཧʹػೳ௥Ճ

Slide 37

Slide 37 text

σϞ 

Slide 38

Slide 38 text

ύονͷ࣮૷ w 1)1಺෦Ͱ͸ݫີͰͳ͍ൺֱԋࢉΛߦ͏ॲཧΛվ଄ w 1)1ʹ1)1ͷൺֱॲཧΛҠ২͠ɺ྆ํͷ݁ՌΛൺ΂Δ  Ҡ২͞Εͨ 1)1ͷൺֱॲཧ ΦϦδφϧͷ 1)1ͷൺֱॲཧ ݁Ռ͕ҟͳΕ͹ܯࠂ

Slide 39

Slide 39 text

ύονΛ࡞ͬͨޮՌ w ൺֱԋࢉࢠҎ֎ͷؔ਺Ͱ΋มԽΛݕग़Ͱ͖Δ in_array, sort, ... w ຊ൪؀ڥͰ΋͠ൃੜͯ͠΋ϦΫΤετΛதஅͰ͖Δ  ൺֱԋࢉͷมԽʹΑΔϩδοΫͷมԽΛະવʹ๷͛ͨ

Slide 40

Slide 40 text

ςετͰͷ׆༻ w ύονΛ༗ޮʹͨ͠ঢ়ଶͰࣗಈςετΛ࣮ߦ w 2"νʔϜʹΑΔςετʹߩݙ  ϩδοΫͷมԽΛ1)1ΤϥʔͰՄࢹԽ  ൺֱԋࢉͷ໰୊ΛΑΓޮ཰Α͘ݕग़

Slide 41

Slide 41 text

1)1؀ڥͰͷௐࠪ w ҟৗܥΛ͢΂ͯςετ͢Δͷ͸ࠔ೉ w Քಇதͷ1)1؀ڥΛ࢖ͬͯ໰୊ݕग़Ͱ͖ͳ͍͔ʁ w 1)1؀ڥ޲͚ʹύονΛ࡞੒  ࣄલʹຊ൪؀ڥͰ΋໰୊ͷચ͍ग़͠Λߦͬͨ

Slide 42

Slide 42 text

1)1؀ڥͰͷௐࠪͷྲྀΕ  ύονΛ౰ͯͨ1)1 Τϥʔϋϯυϥ ϩάϑΝΠϧ(SBZMPH ൺֱԋࢉࢠͷ&@8"3/*/( ൃੜͨ͠ϑΝΠϧɾߦΛه࿥ ؂ࢹɾमਖ਼ 'hoge' == 0 ԋࢉ݁ՌͷมԽΛݕग़

Slide 43

Slide 43 text

ௐࠪͷ݁Ռ w ϲ݄Ͱ໿݅ͷ໰୊Λݕग़ w ൺֱԋࢉࢠʹΑΔݒ೦͕΄ͱΜͲͳ͍ঢ়ଶͰ1)1΁ҠߦͰ͖ͨ w ݱࡏͷ(BSPPOͰ΋ɺൺֱԋࢉࢠ·ΘΓͷτϥϒϧ͸ൃੜ͍ͯ͠ͳ͍  (BSPPOͰ͸ൺֱԋࢉࢠͷ໰୊Λ͢΂ͯղফͰ͖ͨ

Slide 44

Slide 44 text

ൺֱԋࢉࢠɿ·ͱΊ w ൺֱԋࢉͷมԽ͸ൺֱԋࢉࢠҎ֎ʹ΋ӨڹΛ༩͑Δ w (BSPPOͰ͸1)1ຊମΛվ଄͠ɺൺֱԋࢉͷڍಈมԽΛݕग़  ڍಈͷมԽΛΤϥʔͱͯ͠Θ͔ΔܗͰදࣔ  खಈɾࣗಈςετͰམͱ͢͜ͱ͕Ͱ͖ͨ w ຊ൪؀ڥΛར༻ͨ͠໰୊ͷݕग़͕ޭΛ૗ͨ͠ w Ҏ্ͷରࡦͰɺൺֱԋࢉʹ·ͭΘΔ໰୊Λղܾͨ͠ 

Slide 45

Slide 45 text

ΞδΣϯμ w എܠ w ϦϦʔεαΠΫϧͱϒϥϯνઓུ w ൺֱԋࢉࢠͷରࡦ wઈົʹڍಈ͕มΘΔඪ४ϥΠϒϥϦؔ਺ w ·ͱΊ 

Slide 46

Slide 46 text

ઈົʹڍಈ͕มΘΔඪ४ؔ਺ w 1)1ϚχϡΞϧͷʮԼҐޓ׵ੑͷͳ͍มߋ఺ʯʹ·ͱΊΒΕ͍ͯΔ w େମͷ৔߹͸%FQSFDBUFEͷܯࠂ͕1)1Ͱ͸ൃੜ͢Δ w ͦ͏Ͱ͸ͳ͍ؔ਺Λத৺ʹ঺հ  NLUJNF HNNLUJNF   BSSBZ@TQMJDF   TVCTUS   TUSQPT NC@TUSQPT 

Slide 47

Slide 47 text

Ҿ਺ʹOVMM͕ࢦఆͰ͖ΔΑ͏ʹͳΔؔ਺ w 1)1͔ΒɺҰ෦ͷҾ਺ʹOVMM͕ࢦఆͰ͖Δ • substr(), array_splice() • mktime(), gmmktime()  OVMMΛࢦఆͨ͠৔߹ͷڍಈ͕มΘΔ

Slide 48

Slide 48 text

TVCTUS BSSBZ@TQMJDF w ͲͪΒ΋MFOHUIҾ਺ʹOVMMΛࢦఆՄೳʹͳͬͨ w 1)1Ҏલ͸OVMM͕ͱղऍ͞ΕΔ w 1)1Ҏ߱͸ɺҾ਺Λ༩͑ͳ͍ͷͱಉ͡Α͏ʹղऍ͞ΕΔ  IUUQTWMPSH

Slide 49

Slide 49 text

NLUJNF HNNLUJNF w ೔෇͔Β6OJYλΠϜελϯϓΛٻΊΔ mktime($hour, $minute, $second, $month, $day, $year) w 1)1Ҏલ͸OVMM͸ʹΩϟετ͞Ε͍ͯͨ w 1)1Ҏ߱͸OVMM͕ݱࡏ࣌ࠁΛද͢Α͏ʹͳͬͨ  ݱࡏͷ೔࣌ʹΑͬͯ݁Ռ͕มΘΔόάͷՄೳੑ

Slide 50

Slide 50 text

จࣈྻݕࡧܥؔ਺ͷOFFEMFҾ਺ w TUSQPT NC@TUSQPT ͳͲͷݕࡧର৅ OFFEMF ʹۭจࣈྻΛࢦఆՄೳʹ  1)1·Ͱɿܯࠂ͕ൃੜ͠ɺGBMTF͕ฦͬͯ͘Δ  1)1͔Βɿจࣈྻͷઌ಄ʹҰக͕ͯ͠ฦͬͯ͘Δ  TUSQPT GBMTFͷ݁Ռ͕มΘΔ

Slide 51

Slide 51 text

TVCTUS ͷڥքΛӽ͑ͨ৔߹ͷॲཧ  1)1·ͰɿMFOHUIͷਖ਼ෛͳͲʹΑΓGBMTF͔ۭจࣈྻ  1)1͔ΒɿඞۭͣจࣈྻʹͳΔ  w TUSJOH P ff TFU " # $ MFOHUI

Slide 52

Slide 52 text

(BSPPOͰͷରॲํ਑ w ݸผରॲ͕Մೳͳ਺ͳΒͦͷ··ରॲΛਐΊΔ w ෆՄೳͳΒݹ͍ڍಈΛΤϛϡϨʔτ͢Δؔ਺Ͱஔ͖׵͑  ྫNC@TUSQPT  function cb_mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { if ($needle === "" || $needle === null) { return false; } return mb_strpos($haystack, $needle, $offset, $encoding); }

Slide 53

Slide 53 text

ઈົʹڍಈ͕มΘΔඪ४ؔ਺ɿ·ͱΊ OVMMΛड͚ೖΕΔΑ͏ʹͳΔؔ਺ OVMMΛ౉ͨ͠Βڍಈ͕มΘΔؔ਺ w TVCTUS BSSBZ@TQMJDF NLUJNF HNNLUJNF ʹ஫ҙ 

Slide 54

Slide 54 text

·ͱΊ 

Slide 55

Slide 55 text

1)1Ξοϓσʔτ૯·ͱΊ w ϓϩμΫτͷϒϥϯνͷಈ͖Λҙࣝͨ͠1)1Ξοϓσʔτ  ໿Ұ೥ؒͷ׆ಈظؒΛܦͯແࣄʹΞοϓσʔτ׬ྃ  1)1ϚχϡΞϧʗ࣮ࡍͷϓϩμΫτΛ΋ͱʹͨ͠ૣظͷௐࠪͰ஌ݟΛಘΔ w ൺֱԋࢉࢠͷมԽΛݕ஌͢Δ࢓૊Έ͕ޭΛ૗ͨ͠  ຊ൪؀ڥΛ༻͍ͨௐࠪͰෆ҆Λ෷১Ͱ͖ͨ w ͱʹ͔͘ɺޓ׵ੑʹ·ͭΘΔ໰୊Λૣظൃݟ͢Δ͜ͱ͕ॏཁͩͬͨ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 

Slide 56

Slide 56 text

એ఻ɿ࠲ஊձ΍Γ·͢  IUUQTDZCP[VDPOOQBTTDPNFWFOU

Slide 57

Slide 57 text

ະ࢖༻εϥΠυ 

Slide 58

Slide 58 text

1)1ͷ಺෦"1*ʹ·ͭΘΔมߋ w $JSDMF$*ͷδϣϒͰ1)1Λιʔε͔ΒϏϧυ  ಠࣗͷ1)1֦ுʢ$ݴޠͰॻ͔Ε֦ͨுϞδϡʔϧʣ͕͋Δ  1)1ຊମͷιʔείʔυΛมߋ͢ΔύονϑΝΠϧΛ͍͔ͭ͘ద༻ w Ϗϧυ͞Ε࣮ͨߦϑΝΠϧҰࣜ͸4ʹΞοϓϩʔυ͞ΕΔ w -JOVY8JOEPXT޲͚ͷϏϧυ؀ڥ͕͋Δ 

Slide 59

Slide 59 text

1)1ͷ಺෦"1*ʹ·ͭΘΔมߋ w 1)1֦ுͷ࡞ऀͷͨΊͷҠߦϚχϡΞϧ͕QIQTSDʹ͋Δ  IUUQTHJUIVCDPNQIQQIQTSDCMPCNBTUFS 61(3"%*/(*/5&3/"-4 w (BSPPO͸ຖ೥ͳʹ͔͠Βͷ໰୊Λ౿ΜͰ֦ுͷίʔυΛमਖ਼͍ͯ͠Δ w ͪ͜Β΋ಉ͡Α͏ʹɺௐࠪͯ͠վमΛߦ͏ w ͨͩ͠ɺมߋස౓͕গͳ͍ͨΊجຊతʹௐࠪ͸ճ͖ΓͰे෼ 

Slide 60

Slide 60 text

1)1ͷ಺෦"1*ʹ·ͭΘΔมߋ w ؔ਺ɾϝιουʹBSHJOGPΛ༩͑ͳ͍ͱ8BSOJOHʹͳΔ  Ҿ਺ͷ৘ใʢ໊લɺܕʣͷ৘ใΛ1)1֦ுͰఆٛͨؔ͠਺ʹ༩͑Δ w 543.ϚΫϩͷഇࢭ  εϨουηʔϑܥͷରԠɻ1)1ܥͰ࣮࣭ແޮԽ͞ΕͨͨΊ࡟আ͢Δ͚ͩ w Ϋϥεͱಉ໊ͷϝιου͕ίϯετϥΫλ໊ͱͯ͠ೝࣝ͞Εͳ͘ͳͬͨ  1)1εΫϦϓτͰ͸ܯࠂ͕ग़͍͕ͯͨɺ1)1֦ுͰ͸ܯࠂ͞Εͳ͔ͬͨ 

Slide 61

Slide 61 text

1)1Τϥʔ w Τϥʔͷൃੜ࣍ୈɺΤϥʔϋϯυϥʹΑΓॲཧ͞ΕΔ w ྫ֎ͷΑ͏ʹݺग़ݩ΁ͱ఻೻͠ͳ͍ɻׂΓࠐΈϋϯυϥʹ͍ۙ w &@%&13&$"5&% &@/05*$& &@8"3/*/(ͳͲɺ͍͔ͭ͘ͷϨϕϧ͕͋Δ w FSSPS@SFQPSUJOHؔ਺ͰɺಛఆͷϨϕϧͷΤϥʔΛແࢹͤ͞Δ͜ͱ͕Ͱ͖Δ w 1)1ϓϩάϥϜશମͰ༗ޮͳΧελϜͷϋϯυϥΛهड़Մೳ w ΧελϜϋϯυϥͰ1)1ΤϥʔΛ཈੍͠ɺॲཧΛଓߦՄೳ 

Slide 62

Slide 62 text

1)1Τϥʔ w ͍͔ͭ͘ͷ&@/05*$&͕&@8"3/*/(ʹঢ֨ • Attempting to read an unde fi ned variable. • Attempting to read an unde fi ned property. • Attempting to read an unde fi ned array key. • Attempting to read a property of a non-object. • Attempting to access an array index of a non-array. • Attempting to convert an array to string. • Attempting to use a resource as an array key. • Attempting to use null, a boolean, or a fl oat as a string offset. • Attempting to read an out-of-bounds string offset. • Attempting to assign an empty string to a string offset. • جຊతʹ͸ @ ԋࢉࢠ͸ґવͱͯ͠༗ޮɻΤϥʔϋϯυϥͰͷରॲ΋໰୊ͳ͘Ͱ͖Δ 

Slide 63

Slide 63 text

1)1Τϥʔ w ͋Δ044ͷதͰFSSPS@SFQPSUJOH Ͱ&@/05*$&Λແޮʹ͍ͯͨ͠ʂ w ͦͷ044͔ΒίʔϧόοΫ͞ΕΔܗͰҰ෦ͷίʔυ͕ಈ࡞ͯͨ͠ w ࠓ·Ͱ཈੍͞Ε͍ͯͨ&@/05*$&͕&@8"3/*/(ʹͳΓɺ๫ΕճΔ w Өڹ͕͋·Γʹ΋޿͔ͬͨ w ରॲɿFSSPS@SFQPSUJOH Ͱ&@/05*$&͕੾ΒΕͯͨͱ͖ͷΈɺಛఆͷ &@8"3/*/(ΛΤϥʔϋϯυϥͰ཈੍ͤ͞Δ 

Slide 64

Slide 64 text

1)1Τϥʔ w ͍··ͰجຊతʹΤϥʔϋϯυϥͰ཈੍͍ͯ͠ͳ͚Ε͹໰୊ͳ͍ • Attempting to write to a property of a non-object. • Attempting to append an element to an array for which the PHP_INT_MAX key is already used. • Attempting to use an invalid type (array or object) as an array key or string offset. • Attempting to write to an array index of a scalar value. • Attempting to unpack a non-array/Traversable. • Attempting to access unquali fi ed constants which are unde fi ned. w ͨͩɺ!ԋࢉࢠͰ཈੍͞Εͯͨ৔߹͸؏௨͢Δ w ରॲ1)1؀ڥͰ͜ΕΒͷ&@8"3/*/(Λัଊ͠ɺϞχλ͢Δ  /6--ʹର͢ΔϓϩύςΟͷॻ͖ࠐΈ͕݅ݟ͔ͭͬͨ