PHPã§æååæ€çŽ¢ããã颿°ãšã¯ïŒèšè¿°æ¹æ³ãšæ³šæç¹ã解説
PHPã§ã¯ããã€ãã®æ¹æ³ã§æååæ€çŽ¢ãããããšãã§ããŸãã䌌ãçšéã®é¢æ°ãè€æ°ãããŸãããããããã«ç¹åŸŽãç°ãªããŸããç¹ã«è¿ãå€ãšããŠäœãè¿ãã®ããšããããšã«çç®ããå¿ èŠãããã§ããããå ·äœçã«ã¯strpos()颿°ãpreg_match()颿°ãpreg_match_all()颿°ãªã©ã®è§£èª¬ãããã«é åã«å¯Ÿããæååæ€çŽ¢ã«ã€ããŠã䜿ããããã«ããŠãããŸããããPHPã§æååã®æ€çŽ¢ãããããã®é¢æ°ã¯1ã€ã§ã¯ãããŸãããããã€ãçšæãããŠããŸãããããŠããããã«ç¹åŸŽãç°ãªããããäžæã䜿ãåããŠããããšãéèŠã«ãªã£ãŠããŸãã
ãããã®é¢æ°ã§ç¹ã«æ³šæãã¹ããã€ã³ãã¯äœãè¿ãå€ã«ãªãã®ããšããããšã§ããã以äžã§ã¯æååæ€çŽ¢ã«äœ¿ãããå颿°ã®å
·äœçãªèšè¿°æ¹æ³ãè¿ãå€ã«ã€ããŠç޹ä»ããŠãããŸãã
PHPã§æååã®æ€çŽ¢ãè¡ãå¿ èŠæ§

ããã°ã©ãã³ã°ã®å匷ã§ã¯ãå®éã«äœããå¶äœããŠã¿ãããšãäžéãžã®æ©éã§ããããšãèšãããŠããŸããPHPã¯Webã¢ããªã®æ§ç¯ãåŸæãšããŠããŸãã®ã§ãã€ã³ã¿ãŒãããäžã§æäŸããããµãŒãã¹ãèããŠã¿ãŸãããã
äžã®äžã«ã¯äŒå¡ç»é²ãããŠããã®åŸã¯ãã°ã€ã³ãè¡ãããšã§ãµãŒãã¹ãæäŸãããšããã±ãŒã¹ãå€ããããŸããäŒå¡ç»é²ã®ãšãã«æ°åäœæãé»è©±çªå·ãã¡ãŒã«ã¢ãã¬ã¹ããã¹ã¯ãŒããªã©ãå ¥åããããšãããããšæããŸãããããŠããããå ¥åãéä¿¡ãã¿ã³ãªã©ãæŒããšããäŒå¡ç»é²å®äºããªã©ãšè¡šç€ºãããããšãããã°ãããŒãžé·ç§»ãããæ£ãã圢åŒã§å ¥åããŠãã ããããªã©ãšåå ¥åãä¿ãããããšããããŸããäŸãã°ã¡ãŒã«ã¢ãã¬ã¹ã¯ãïŒ ããéã«å ¥åãããã¯ãã§ãããšãããå ¥åãã¹ã§ãããæããŠããŸããšæ£ããã¡ãŒã«ã¢ãã¬ã¹ãç»é²ããããšãã§ããŸããããã®ããæååäžã«ãïŒ ããå«ãŸããŠãããã©ãããã§ãã¯ããæ©èœããããšäŸ¿å©ã§ããã»ãã«ããéµäŸ¿çªå·ã®å ¥åã§ãã€ãã³ãå¿ èŠãšããå Žåã«ã¯ãã®ãã§ãã¯ãªã©ãã§ãããšãŠãŒã¶ãŒã«ããäžå®ç¯å²ã®ãã¹ãé²ãããšãã§ããŸãã
ããããæ©èœã¯ãç¹å®æååã®æ€çŽ¢ãã§ãã颿°ãå¿çšããããšå®çŸã§ããŸããæååã®æ€çŽ¢ãããããã®é¢æ°ã¯ããã€ããããŸãã®ã§ã以äžã§ãããã解説ããŠãããŸãã
æååãæ€çŽ¢ãã颿°ãšãã®äœ¿ãæ¹

æååãæ€çŽ¢ãã颿°ãšããŠããstrpos()ããpreg_match()ããpreg_match_all()ããªã©ããã䜿çšãããŸãããããã®é¢æ°ã䜿ãã°ãã䌌ã广ãåŸãããŸãããããããã«ç¹åŸŽãããããããã®ç¹åŸŽããã£ãããšçè§£ããŠäœ¿çšããŠãããªããã°æãã¬æåãèµ·ããããã°ã©ã ãåºæ¥äžãã£ãŠããŸããŸãã
å
·äœçãªèšè¿°äŸãšãšãã«ãå颿°ãæ¯èŒããªããäœ¿ãæ¹ãèŠããŠãããŸãããã
strpos()ã¯è¿ãå€ã«æ³šæ
ãç¹å®ã®æååãå«ãŸããŠããã®ãïŒããšããåé¡ã«å¯ŸããŠã¯ãŸãstrops()ã䜿ããªããæ€èšããŠã¿ãŸãããã
ãããŠãã®å Žåã«æãæ³šæãã¹ããã€ã³ãã¯è¿ãå€ã§ãã颿°ã®äœ¿ãæ¹èªäœã¯ããã»ã©é£ãããã®ã§ã¯ãããŸããããè¿ãå€ã®éãã¯æŒãããŠãããªããã°æ··ä¹±ãæããŸãã
strpos()ã§ã¯ã第1åŒæ°ã®æååãã第2åŒæ°ã®æååãæ€çŽ¢ããŸããè¿ãå€ãšããŠã¯ãç¹å®ã®æååããæåã«èŠã€ãã£ãäœçœ®ããæŽæ°ã§è¿ããŸããããã«éå§äœçœ®ã¯0ã§ããããšã«ã泚æããŠãã ããã
èšè¿°äŸãèŠãŠã¿ãŸãããã
$string = 'ABCDE';
$find = 'A';
$pos = strpos($string, $find);
if ($pos !== false) {
echo "'$find'ã¯äœçœ®ã'$pos'ãã«ãããŸããã";
} else {
echo "'$find'ã¯ãããŸããã§ããã";
}
//åºåçµæ
'A'ã¯äœçœ®ã'0'ãã«ãããŸããã
strops()ã®è¿ãå€ãäžã®ããã°ã©ã äŸã®ããã«äœ¿ãå Žåãæ¡ä»¶åŒã«ãããŠæ¯èŒæŒç®åãã!=ãã§ã¯ãªãã!==ããšããŠããç¹ã«æ³šèŠããŸãããããã®å Žåã¯Aãæååã®æåã«ããè¿ãå€ã0ãšãªããããã!=ããšããŠããŸããšã'A'ã¯ãããŸããã§ãããããšåºåãããŠããŸãã®ã§ãã
preg_match()ã¯ã1ãã0ããfalseããè¿ã
strops()ãšåããç¹å®ã®æååãå«ãŸããŠãããã©ããã倿ã§ããŸãããããæ£èŠè¡šçŸãçšããããšããè¿ãå€ãšããŠæ€çŽ¢ã«åŒã£ããã£ãåæ°ãè¿ããšããç¹ã§éãæ§è³ªãæã£ãŠããŸããããããæ€çŽ¢ã«åŒã£ããã£ãåæ°ãè¿ãããã®ã®1åæååãèŠã€ããã°ããã§æ€çŽ¢ãçµãããããçµå±ã®ãšããpreg_match()ãè¿ãã®ã¯ç¹å®ã®æååãå«ãŸããŠããå Žåã®ã1ãããå«ãŸããŠããªãã£ãå Žåã®ã0ããšããããšã«ãªããŸãã
ããã«ããšã©ãŒãçºçããå Žåã«ã¯ãfalseããè¿ãããšãç¹åŸŽçã§ãã
èšè¿°äŸãèŠãŠã¿ãŸãããã
$string = 'ABCDE';
$find = '/A/';
if (preg_match($find,$string)) {
echo "æååã¯èŠã€ãããŸããã";
} else {
echo "æååã¯èŠã€ãããŸããã§ããã";
}
//åºåçµæ
æååã¯èŠã€ãããŸããã
pregmatch()ã§ã¯æ¢ãæååãæ£èŠè¡šçŸã®åœ¢ã§è¡šçŸããªããã°ãªããŸããããã®ããæååãããªãã¿ã§å²ãå¿
èŠããããäŸã®ããã«ã/(ã¹ã©ãã·ã¥)ããªã©ã䜿ããŸãã
ããããŠstrpos()ãšæ¯ã¹ãŠèŠããšãåã«ç¹å®ã®æååãå«ãŸããŠãããã©ãããå€å®ããã®ã§ããã°ã©ã¡ãã®é¢æ°ã§ãè¯ãããã«æããŸãããããã©ã¡ãã§ãè¯ãå Žåã«strpos()ãæšå¥šãããã®ã¯ããã©ãŒãã³ã¹ãé«ããå°ãã ãé«éã«åŠçãè¡ããããã§ãã
preg_match_all()ã¯1åã®ãããã³ã°ã§æ¢ãŸããªã
preg_match_all()ã¯preg_match()ã®ããã«1åã®ãããã³ã°ã§ã¯åŠçãæ¢ããŸããã
ãã®ãã以äžã®ãããªçµæãåŸãããšãã§ããŸãã
$string = 'ABCDEA';
$find = '/A/';
$pos = preg_match_all($find,$string);
if ($pos !== false){
echo "æååã¯'$pos'åèŠã€ãããŸããã";
} else {
echo "æååã¯èŠã€ãããŸããã§ããã";
}
//åºåçµæ
æååã¯'2'åèŠã€ãããŸããã
é åã§å€ãæ€çŽ¢ããæ¹æ³

ç¹å®ã®æååãæ€çŽ¢ãããå Žåãæ€çŽ¢ãããã察象ãé
åã§ããããšãããã§ãããã
ãã®å Žåãstrpos()ãpreg_match()ãpreg_match_all()ãªã©ã¯äœ¿çšãããarray_search()ããin_array()ããªã©ã䜿ã£ãŠæ€çŽ¢ããŸãããã®å Žåããã¯ãããããã®é¢æ°ã¯äœ¿ãæ¹ãæå³ã䌌ãŠãããã®ã®è¿ãå€ã®éããªã©ãæ§è³ªã«åŸ®åŠãªå·®ç°ãããããšã«æ³šæããªããã°ãªããŸããã
array_search()ã¯èŠçŽ ã®ããŒãè¿ã
array_search()ã¯æ€çŽ¢ããå€ãæã€èŠçŽ ãååšããå Žåããã®èŠçŽ ã®ããŒãè¿ããŸãã
ããã§ä»¥äžã®ãããªäœ¿ãæ¹ãã§ããŸãã
$array = array(
'No.0' => 'red',
'No.1' => 'blue',
'No.2' => 'green',
'No.3' => 'white'
);
$key = array_search('green', $array);
echo "èŠçŽ ãgreenãã«å¯Ÿå¿ããããŒã¯'$key'ã§ãã";
//åºåçµæ
èŠçŽ ãgreenãã«å¯Ÿå¿ããããŒã¯'No.2'ã§ãã
æ€çŽ¢ããå€ãèŠã€ãããªãå Žåã«ã¯falseãè¿ããšããããšãèŠããŠãããšããã§ãããã
in_array()ã¯è«çå€ãè¿ã
in_array()ãé åã«å¯Ÿããæååã®æ€çŽ¢ã§ãããarray_search()ãšéãã®ã¯è«çå€ãè¿ããšããããšã§ãããã®ãããæ€çŽ¢ãåŒã£ããããªãã£ãå Žåã«falseãè¿ãç¹ã¯å ±éããŠããŸãã
$array = array(
'No.0' => 'red',
'No.1' => 'blue',
'No.2' => 'green',
'No.3' => 'white'
);
$key = in_array('green', $array);
var_export($key);
//åºåçµæ
true
ãŸãšã
ããæååãæ€çŽ¢ããã«ã¯strpos()ãpreg_match()ããããã¯preg_match_all()ãªã©ãå©çšã§ããããããã®è¿ãå€ã®éãã«ã¯ç¹ã«æ³šæãå¿
èŠãšããããšã説æããŸããã
ãŸãšãããšä»¥äžã®ããã«ãªããŸãã
- strops()ã¯æååãèŠã€ãã£ãäœçœ®ãåãã
- preg_match()ã¯èŠã€ãã£ããã©ããã®å€å®ã®ã¿å¯èœ
- preg_match_all()ã¯èŠã€ãã£ãåæ°ãåãã
ãŸããé åã«å¯ŸããŠç¹å®ã®æååã®æ€çŽ¢ããããã«ã¯array_search()ãin_array()ãªã©ããã䜿ãããŸãã
- array_search()ã¯æ€çŽ¢ããèŠçŽ ã®ããŒãåãã
- in_array()ã¯èŠçŽ ãèŠã€ãã£ããã©ããã®å€å®ã®ã¿å¯èœ
ãããããã®ãããªç¹åŸŽãæã£ãŠããŸãããããã®é¢æ°ã䜿ããšæ§ã ãªäºäŸã§å¿çšããããšãã§ããããã䜿ãã©ãããèŠæ¥µããŠäœ¿ãããªããããã«ãããšããã§ãããã
ãã®èšäºã®ããŒã¯ãŒãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
TECH PLAYã§ã¯ãITãšã³ãžãã¢åãã®å匷äŒã»ã€ãã³ãæ
å ±ãæäŸããŠããŸãã
èå³ã®ããæ¹ã¯ãã²ãåå ãã ããã
- ãPHPãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãããã°ã©ãã³ã°ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãåå¿è ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã












