Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ:
メールフォーム
PHP ã§ã¯ãé
åã®å¤ãæ£è¦è¡¨ç¾ã«ãããããå¤ã«å¯¾ãã¦ãã«ãã¤ã³é¢æ°ãã¦ã¼ã¶ãèªç±ã«å®ç¾©ãã颿°ãé©ç¨ããä»çµã¿ãããã¾ãã
ããããã³ã¼ã«ããã¯é¢æ°ãã¨ããã¾ãã
é åã®ãã¹ã¦ã®å¤ãæ£è¦è¡¨ç¾ã«ãããããæååãã¹ã¦ã«å¯¾ãã¦ç¹å®ã®å¦çãè¡ãããå ´åãforeach çã使ã£ã¦å復å¦çãæ¸ããªãã¦ããã®ã§ãã³ã¼ãããã£ããããã¡ãªãããããã¾ãã
| 颿°å | 説æ |
|---|---|
| array_map | æå®ããé åã®è¦ç´ ã«ã³ã¼ã«ããã¯é¢æ°ãé©ç¨ãã |
| array_filter | ã³ã¼ã«ããã¯é¢æ°ã使ç¨ããé åè¦ç´ ãã£ã«ã¿(ä¾ãã°ããã¼ã奿°ã®è¦ç´ ã®ã¿åãåºãã¨ã) |
| array_reduce | ã³ã¼ã«ããã¯é¢æ°ãç¨ãã¦é åãæ®éã®å¤ã«å¤æ´ãããã¨ã«ããã é åãå帰çã«æ¸ãã(ä¾ãã°ãå ¨è¦ç´ ã®ç©ãåå¾ããã¨ã) |
| array_walk | é åã®å ¨ã¦ã®è¦ç´ ã«ã¦ã¼ã¶é¢æ°ãé©ç¨ãã |
| array_walk_recursive | é åã®å ¨ã¦ã®è¦ç´ ã«ãã¦ã¼ã¶ã¼é¢æ°ãå帰çã«é©ç¨ãã |
| preg_replace_callback | æ£è¦è¡¨ç¾æ¤ç´¢ãè¡ããã³ã¼ã«ããã¯é¢æ°ã使ç¨ãã¦ç½®æãè¡ã |
é åã®ãã¹ã¦ã®å¤ã«ãã«ãã¤ã³é¢æ°ãtrimããé©ç¨ãã¦ã¿ã¾ãã
$arr[0] = ' 000 '; $arr[1] = ' 111 '; $arr[2] = ' 222 '; $arr = array_map('trim', $arr); var_dump($arr); # çµæ array(3) { [0]=> string(3) "000" [1]=> string(3) "111" [2]=> string(3) "222" }
ãªãã以ä¸ã®é¢æ°ã¯é©ç¨ã§ãã¾ããã
array(), echo(), empty(), eval(), exit(), isset(), list(), print(), unset()
ä¸è¨ã® func1 ã«å¼æ°ãä¸ãã¦ã³ã¼ã«ããã¨ã弿°ã®æååã® [ ãã ] ã®ä¸ã®æååæãåºãããã®æååãå転ããã[ 㨠] ãé¤å»ããæååãè¿å´ãã颿°ã§ãã
ãµã³ãã«ãªã®ã§ãå®ç¨æ§ã¯ã¾ã£ããããã¾ããw
ãªããfunc1 ã®ä¸ã§å®ç¾©ããã¦ãã cb_func1 ãã³ã¼ã«ããã¯é¢æ°ã«ãªãã¾ãã
function func1($val) { return preg_replace_callback('/\[(.+?)\]/', 'cb_func1', $val); } function cb_func1($array) { return strrev($array[1]); } $ret = func1('[ABC]-[DEF]-[GHI]'); var_dump($ret); # çµæ string(11) "CBA-FED-IHG"
â». 説æã®çºãä¸è¨ãµã³ãã«ã示ãã¾ããããã³ã¼ã«ããã¯é¢æ°ã使ããªãã¦ãæ¸ããã¨ãã§ãã¾ããä¸å¿ãµã³ãã«ãæ¸ãã¦ããã¾ãã
function func1($val) { return preg_replace('/\[(.+?)\]/e', 'strrev(\\1)', $val); }
ãã¿ã¼ã³ä¿®é£¾åã®ãe ãªãã·ã§ã³ããæå®ãã¦ãPHPã³ã¼ãã¨ãã¦è©ä¾¡ããã¾ã
ã¯ã©ã¹å ã§ã³ã¼ã«ããã¯é¢æ°ã使ãå ´åã¯ã注æç¹ãããã¾ãã
以ä¸ã¯ã¨ã©ã¼ã«ãªãã¾ãã
class hoge { public function func1($val) { return preg_replace_callback('/\[(.+?)\]/', 'cb_func1', $val); } private function cb_func1($array) { return strrev($array[1]); } } $hoge = new hoge; var_dump($hoge->func1('[ABC]-[DEF]-[GHI]')); # çµæ Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, 'cb_func1', to be a valid callback in /path/to/hoge.php on line 6
ã³ã¼ã«ããã¯é¢æ°ãã¯ã©ã¹å¤(ã°ãã¼ãã«ã¹ã³ã¼ã)ã«é ç½®ããã°æ£å¸¸ã«åä½ãã¾ãã
class hoge { public function func1($val) { return preg_replace_callback('/\[(.+?)\]/', 'cb_func1', $val); } } function cb_func1($array) { return strrev($array[1]); } $hoge = new hoge; var_dump($hoge->func1('[ABC]-[DEF]-[GHI]')); # çµæ string(11) "CBA-FED-IHG"
ããããã¯ã©ã¹å
ã§å®ç¾©ãã¦ããã®ã ãããã³ã¼ã«ããã¯é¢æ°ãã¯ã©ã¹å
ã«é è½ãããã¯ãã§ãã
ãã®å ´åã¯ã以ä¸ã®ããã« array($this, 'cb_func1') ã¨é
åã§å®ç¾©ãã¾ãã
class hoge { public function func1($val) { return preg_replace_callback('/\[(.+?)\]/', array($this, 'cb_func1'), $val); } private function cb_func1($array) { return strrev($array[1]); } } $hoge = new hoge; var_dump($hoge->func1('[ABC]-[DEF]-[GHI]')); # çµæ string(11) "CBA-FED-IHG"
ã¯ã©ã¹ã®ã¡ã½ããããã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã®å ´åã¨ã¯ã©ã¹ã¡ã½ãã(ã¹ã¿ãã£ãã¯ã¡ã½ãã)ã®å ´åã§è¨è¿°ãç°ãªãã®ã§æ³¨æãå¿
è¦ã§ãã
以ä¸ãåç
§ãã¦ãã ããã
class hoge { private $val; private $arg1; private static $arg2; public function func1($val) { $this->val = $val; $this->arg1 = 'arg1'; return preg_replace_callback('/\[(.+?)\]/', array($this, 'cb_func1'), $this->val); } public static function func2($val) { self::$arg2 = 'arg2'; return preg_replace_callback('/\[(.+?)\]/', array(self, 'cb_func2'), $val); } private function cb_func1($array) { return strrev($array[1]).'@'.$this->arg1; } private static function cb_func2($array) { return strrev($array[1]).'@'.self::$arg2; } } $hoge = new hoge; var_dump($hoge->func1('[ABC]-[DEF]-[GHI]')); var_dump(hoge::func2('[abc]-[def]-[ghi]')); # çµæ string(26) "CBA@arg1-FED@arg1-IHG@arg1" string(26) "cba@arg2-fed@arg2-ihg@arg2"