![]()
|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">
é…列PHPã®é…列ã¯ã€å®Ÿéš›ã«ã¯é †ç•ªä»˜ã‘られãŸãƒžãƒƒãƒ—ã§ã™ã€‚マップã¯ã€ 値をã‚ーã«ãƒžãƒƒãƒ—ã™ã‚‹åž‹ã§ ã™ã€‚ã“ã®åž‹ã¯ã€ã„ãã¤ã‹ã®æ‰‹æ³•ã§æœ€é©åŒ–ã•れã¾ã™ã€‚ã“ã®ãŸã‚ã€å®Ÿéš›ã®é…列 ã¾ãŸã¯ãƒªã‚¹ãƒˆ(ベクトル)ã€(ã‚るマップã®å®Ÿè£…ã§ã‚ã‚‹)ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ル〠ディレクトリã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¹ã‚¿ãƒƒã‚¯ã€ã‚ューç‰ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒ å¯èƒ½ã§ã™ã€‚PHPã®é…列ã«ã¯ä»–ã®PHPé…列を値ã¨ã—ã¦ä¿æŒã™ã‚‹ã“ã¨ãŒã§ãる㟠ã‚ã€éžå¸¸ã«ç°¡å˜ã«ãƒ„ãƒªãƒ¼æ§‹é€ ã‚’è¡¨ç¾ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ ã“ã‚Œã‚‰ã®æ§‹é€ ã«é–¢ã™ã‚‹èª¬æ˜Žã¯ã€æœ¬ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã®ç¯„囲外ã§ã™ãŒã€ã“ã‚Œã‚‰ã®æ§‹ é€ ã«å„々ã«é–¢ã™ã‚‹ä¾‹ã‚’å°‘ãªãã¨ã‚‚一ã¤è¦‹ä»˜ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ã“ã‚Œã‚‰ã® æ§‹é€ ã«é–¢ã™ã‚‹ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã«ã¤ã„ã¦ã¯ã€ãƒ‡ãƒ¼ã‚¿æ§‹é€ ã«é–¢ã™ã‚‹è‰¯æ›¸ã‚’購入 ã—ã¦ä¸‹ã•ã„。 æ§‹æ–‡array()ã§æŒ‡å®šé…列 ã¯ã€è¨€èªžæ§‹é€ array() ã§ä½œæˆ ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ã“ã®æ§‹é€ ã¯ã€ç‰¹å®šã®æ•°ã®ã‚«ãƒ³ãƒžã§åŒºåˆ‡ã‚‰ã‚ŒãŸ key => valueã®çµ„を引数ã¨ã—ã¾ã™ã€‚ key ã¯ã€æ•´æ•° ã¾ãŸã¯ æ–‡å—列ã§ã™ã€‚ ã‚ã‚‹ã‚ーãŒã€æ•´æ•°ã®æ¨™æº–çš„ãªè¡¨ç¾å½¢å¼ã§ã‚ã‚‹å ´åˆã€ ãã®ã‚ˆã†ã«è§£é‡ˆã•れã¾ã™ã€‚(ã¤ã¾ã‚Šã€'8'㯠8ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚一方〠'08'ã¯'08'ã¨ã—ã¦è§£é‡ˆã•れ㾠ã™ã€‚) 値ã¯ã€ä½•ã§ã‚‚æ§‹ã„ã¾ã›ã‚“。 ã‚ーをçœç•¥ã—ãŸå ´åˆã€æ•´æ•°æ·»å—ã®æœ€å¤§å€¤ãŒä½¿ç”¨ã•ã‚Œã€æ–°ã—ã„ã‚ーã¯ã ã®æœ€å¤§å€¤+1ã¨ãªã‚Šã¾ã™ã€‚整数値ã¯è² ã®æ•°ã¨ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ è² ã®æ·»å—も有りãˆã¾ã™ã€‚例ãˆã°ã€æœ€é«˜æ™‚ã®æ·»å—ãŒ-6 ã®å ´åˆã€æ¬¡ã®ã‚ーã¯-5ã¨ãªã‚Šã¾ã™ã€‚ æ•´æ•°æ·»å—ãŒã¾ã å˜åœ¨ã—ãªã„å ´åˆã€ã‚ーã¯0(ゼãƒ)ã¨ãªã‚Šã¾ã™ã€‚ å€¤ãŒæ—¢ã«ä»£å…¥ã•れã¦ã„ã‚‹ã‚ーを指定ã—ãŸå ´åˆã€å…ƒã®å€¤ã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚ ã‚ーã¨ã—㦠true を使用ã™ã‚‹ã¨ã€ integer 1ãŒã‚ーã¨ã—ã¦è©•価ã•れã¾ã™ã€‚ ã‚ーã¨ã—ã¦falseを使用ã™ã‚‹ã¨ã€ integer 0ãŒã‚ーã¨ã—ã¦è©•価ã•れã¾ã™ã€‚ ã‚ーã¨ã—ã¦NULLを使用ã™ã‚‹ã¨ã€ç©ºã®æ–‡å—列ã¨ã—ã¦è©•価 ã•れã¾ã™ã€‚ã‚ーã¨ã—ã¦ç©ºã®æ–‡å—列を使用ã™ã‚‹ã¨ã€ç©ºã®æ–‡å—列ã®ã‚ーã¨ãã®å€¤ã‚’ 作æˆ(ã¾ãŸã¯ä¸Šæ›¸ã)ã—ã¾ã™ã€‚ç©ºã®æ‹¬å¼§ã‚’用ã„ãŸå ´åˆã¨åŒã˜ã§ã¯ã‚りã¾ã›ã‚“。 é…列ã¾ãŸã¯ã‚ªãƒ–ジェクトをã‚ーã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 ã“れを行ãªã†ã¨ã€warning: Illegal offset type を発生ã—ã¾ã™ã€‚
角括弧構文ã§ä½œæˆ/ä¿®æ£æ˜Žç¤ºçš„ã«å€¤ã‚’è¨å®šã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€æ—¢å˜ã®é…列を修æ£ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ ã™ã€‚ ã“れã¯ã€è§’括弧ã®ä¸ã«ã‚ーを指定ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€é…列ã«å€¤ã‚’代入ã™ã‚‹ ã“ã¨ã«ã‚ˆã‚Šè¡Œã†ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ã‚ーをçœç•¥ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ã“ã® å ´åˆã€ç©ºã®è§’括弧("[]")ã®å¤‰æ•°åã¨ã—ã¦è¿½åŠ ã—㦠下ã•ã„。
有用ãªé–¢æ•°é…列ã§ä½¿ç”¨ã™ã‚‹ä¾¿åˆ©ãªé–¢æ•°ãŒãŸãã•ã‚“ã‚りã¾ã™ã€‚ é…列関数 ã®ç¯€ã‚’å‚照下ã•ã„。
åˆ¶å¾¡æ§‹é€ foreach ãŒé…列用ã«é™å®šã—ã¦å˜åœ¨ã—ã¾ã™ã€‚ã“ã®æ§‹é€ ã¯ã€é…列ã®è¦ç´ ã«ç°¡å˜ã«é€£ç¶š çš„ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ‰‹æ®µã‚’æä¾›ã—ã¾ã™ã€‚ é…列ã§ã™ã¹ãã“ã¨ã¨ã—ã¦ã¯ãªã‚‰ãªã„ã“ã¨ãªãœã€$foo[bar] ã¯ä½¿ç”¨ã§ããªã„ã®ã‹?å¤ã„ã‚¹ã‚¯ãƒªãƒ—ãƒˆã§æ¬¡ã®ã‚ˆã†ãªæ§‹æ–‡ã‚’見ãŸã“ã¨ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 ã“れã¯é–“é•ã£ã¦ã„ã¾ã™ãŒã€å‹•作ã—ã¾ã™ã€‚ã§ã¯ã€ãªãœé–“é•ã£ã¦ã„ã‚‹ã®ã§ã—ょ ã†? ãã®ç†ç”±ã¯ã€æ§‹æ–‡ã®ç¯€ã«è¨˜è¿°ã—ãŸã‚ˆã†ã«ã€è§’括弧ã®é–“ ('['ãŠã‚ˆã³']')ã«å¼ãŒãªã‘れ ã°ãªã‚‰ãªã„ãŸã‚ã§ã™ã€‚ã“れã¯ã€æ¬¡ã®ã‚ˆã†ã«æ›¸ãã“ã¨ãŒå¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’ æ„味ã—ã¾ã™ã€‚ ã“れã¯ã€é–¢æ•°ã®å‡ºåŠ›ã‚’é…åˆ—ã®æ·»å—ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ä¾‹ã§ã™ã€‚PHPã¯å®šæ•°ã« ã¤ã„ã¦ã‚‚èªè˜ã—ã¾ã™ã€‚å‰ã«E_*を見ãŸã“ã¨ãŒã‚ã‚‹ã‹ ã‚‚ã—れã¾ã›ã‚“。
ã§ã¯ã€ãªãœ $foo[bar] ã¯å‹•作ã™ã‚‹ã“ã¨ãŒå¯èƒ½ãªã® ã§ã—ょã†? ãれã¯ã€bar ãŒå®šæ•°å¼ã§ã‚ã‚‹ã“ã¨ã‚’ 期待ã•れる構文ã§ä½¿ç”¨ã•れã¦ã„ã‚‹ãŸã‚ã§ã™ã€‚ã—ã‹ã—ã€ã“ã®å ´åˆã€ bar ã¨ã„ã†åå‰ã®å®šæ•°ã¯å˜åœ¨ã—ã¾ã›ã‚“。PHPã¯ã€ ã“ã®å ´åˆã€ã‚ãªãŸãŒæ–‡å—列"bar"ã®ã‚ˆã†ã«ãƒªãƒ†ãƒ©ãƒ« bar を指定ã—ãŸãŒå¼•用符を忘れãŸã¨ä»®å®šã—ã¾ã™ã€‚ ã§ã¯ã€ãªãœé–“é•ã£ã¦ã„ã‚‹ã®ã§ã—ょã†?å°†æ¥çš„ã«ã€PHPã¯ä»–ã®å®šæ•°ã¾ãŸã¯ã‚ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’è¿½åŠ ã—ãŸã„ã¨æ€ã†ã‹ã‚‚㗠れãšã€å•題ã¨ãªã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚例ãˆã°ã€ç¾åœ¨ã§ã‚‚〠å˜èªž empty ãŠã‚ˆã³ defaultを使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 ã“れã¯ã€ã“れらãŒã€ç‰¹åˆ¥ãª 予約済ã¿ã®ã‚ーワードã§ã‚ã‚‹ ãŸã‚ã§ã™ã€‚
例PHPã®é…列型ã¯éžå¸¸ã«è§£ã‚Šã«ãã„ãŸã‚ã€ã“ã“ã§ã€é…列ã®å¼·åŠ›ãªæ©Ÿèƒ½ã‚’示㙠ã„ãã¤ã‹ã®ä¾‹ã‚’紹介ã—ã¾ã™ã€‚
é…列ã®å€¤ã‚’ã“ã®ã‚ˆã†ãªãƒ«ãƒ¼ãƒ—ã§ç›´æŽ¥å¤‰æ›´ã™ã‚‹ã“ã¨ã¯ã§ããªã„ã“ã¨ã«æ³¨æ„ ã—ã¦ä¸‹ã•ã„。 ã“れを解決ã™ã‚‹ã«ã¯ã€æ¬¡ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚ ã“ã®ä¾‹ã¯ã€1ã‹ã‚‰å§‹ã¾ã‚‹é…列を作æˆã—ã¾ã™ã€‚ é…列ã«ã¯é †ç•ªãŒä»˜ã‘られã¾ã™ã€‚ç•°ãªã£ãŸã‚½ãƒ¼ãƒˆé–¢æ•°ã‚’用ã„ã¦é †ç•ªã‚’変更 ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã«ã¤ã„ã¦ã¯ã€é…列関数 ã‚’å‚照下ã•ã„。 é…列ã®å€¤ã¯ä½•ã§ã‚‚良ã„ãŸã‚ã€ãã®å€¤ã‚’ä»–ã®é…列ã¨ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ ã“れã«ã‚ˆã‚Šã€å†å¸°çš„ãªé…列や多次元ã®é…列を作æˆã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
|