SlideShare a Scribd company logo
1 of 57
2014-10-27 GMOリサーチ寺田渉 
Facebook: 寺田渉Twitter: @wa_terada
ボードゲーム翻訳 
CakePHP Cookbook翻訳 
TED 字幕翻訳 
開発(PHP/JavaScript/Java/Perl)
公式ホームページがある。 
判らなかったら、まずはここを調べよう。 
http://jp1.php.net/manual/ja/
今日は、PHPの仕様で 
初心者がハマりやすいポイントや 
知ってると便利な関数を紹介します。
文法編
==
<?php 
$input = "1abc"; 
if ($input == 1) { echo "NG!!!!"; } 
これはNG!!!! が出力される。 
なぜ?
<?php 
$input = "1abc"; 
if ($input == 1) { echo "NG!!!!"; } 
キャストされるから。 
さけるには=== を使う。 
左右のどちらかが文字列でない場合、 
== は危険。
empty()
empty(変数) 
変数が 
null , false , 0 , 0.0 , '' , [] , 未定義 
ならtrue になる。 
他にもあるが何?
$var = '0'; 
empty($var); //←これはtrue 
文字列の'0' が空だと 
判定されることを忘れないこと。
配列の+
配列の+ とarray_merge は何が違う? 
<?php 
$a1 = [ 'a' => 1, 'b' => 2, 3 ]; 
$a2 = [ 'b' => 4, 'c' => 5, 6 ]; 
var_export($a1 + $a2); 
var_export(array_merge($a1, $a2)); 
この結果は違う?
【+の場合】 
array ( 
'a' => 1, 
'b' => 2, //先勝ち 
0 => 3, 
'c' => 5, 
//先勝ちで6無し 
) 
→ key/index どちら 
でも常に先勝ち 
【array_merge の場合】 
array ( 
'a' => 1, 
'b' => 4, //後勝ち 
0 => 3, 
'c' => 5, 
1 => 6, //勝手に連番 
) 
→ key なら後勝ち 
index なら連番 
$a1 = [ 'a' => 1, 'b' => 2, 3 ]; 
$a2 = [ 'b' => 4, 'c' => 5, 6 ];
では、これはどうなるでしょう? 
<?php 
$a1 = [1,2,3]; 
$a2 = [4,5,6]; 
var_export($a1 + $a2); 
var_export(array_merge($a1, $a2));
【+の場合】 
array ( 
0 => 1, 
1 => 2, 
2 => 3, 
) 
【array_merge の場合】 
array( 
0 => 1, 
1 => 2, 
2 => 3, 
3 => 4, 
4 => 5, 
5 => 6, 
$a1 = [1,2,3]; 
$a2 = [4,5,6]; 
※おそらく混乱するので 
) 
配列の+ は使わない方が良い。
関数編
文字列分割 
いろいろ
<?php 
$str = "aaa<br/>bbb<br/>ccc"; 
$res = 【なんでしょう】;
<?php 
$str = "aaa<br/>bbb<br/>ccc"; 
$res = explode("<br/>", $str); 
var_export($res); 
array ( 
0 => 'aaa', 
1 => 'bbb', 
2 => 'ccc', 
)
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = 【なんでしょう】;
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = preg_split('/<br¥/?>/', $str); 
var_export($res); 
array ( 
0 => 'aaa', 
1 => 'bbb', 
2 => 'ccc', 
)
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = 【なんでしょう】;
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = preg_split('/(<br¥/?>)/', $str, 
null, PREG_SPLIT_DELIM_CAPTURE); 
var_export($res); 
array ( 
0 => 'aaa', 
1 => '<br/>', 
2 => 'bbb', 
3 => '<br>', 
4 => 'ccc', 
)
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = 【なんでしょう】;
<?php 
$str = "aaa<br/>bbb<br>ccc"; 
$res = str_split($str, 5); 
var_export($res); 
array ( 
0 => 'aaa<b', 
1 => 'r/>bb', 
2 => 'b<br>', 
3 => 'ccc', 
)
<?php 
$str = 'aaa,"b,b,b","c""c""c"'; 
$res = 【なんでしょう】;
<?php 
$str = 'aaa,"b,b,b","c""c""c"'; 
$res = str_getcsv($str, ',', '"'); 
var_export($res); 
array ( 
0 => 'aaa', 
1 => 'b,b,b', 
2 => 'c"c"c', 
)
文字列キャプチャ 
いろいろ
2014-10-27 19:00,ERROR:あいうえお 
ここから、 
年月日、 
時分、 
ERRORの文字列、 
メッセージ 
を抜き出したい!
<?php 
$str = "2014-10-27 19:00,ERROR:あいうえお"; 
$res = sscanf($str, '%10s %5s,%5s:%s'); 
var_export($res); 
だが、"ERROR" 部分が可変長だと発覚!! 
どうする? 
array ( 
0 => '2014-10-27', 
1 => '19:00', 
2 => 'ERROR', 
3 => 'あいうえお', 
)
<?php 
$str = "2014-10-27 19:00,ERROR:あいうえお"; 
preg_match('/^(.+?) (.+?),(w+):(.*)$/', 
$str, $res); 
var_export($res); 
array ( 
0 => '2014-10-27', 
1 => '19:00', 
2 => 'ERROR', 
3 => 'あいうえお', 
) 
これ、結果を連想配列で取れる?
<?php 
$str = "2014-10-27 19:00,ERROR:あいうえお"; 
preg_match('/^(?<ymd>.+?) (?<hm>.+?),' 
. '(?<type>w+):(?<msg>.*)$/', $str, $res); 
var_export($res); 
array ( 
0 => '2014-10-27 19:00,ERROR:あいうえお', 
'ymd' => '2014-10-27', 
1 => '2014-10-27', 
'hm' => '19:00', 
2 => '19:00', 
'type' => 'ERROR', 
3 => 'ERROR', 
'msg' => 'あいうえお', 
4 => 'あいうえお', 
)
配列関数 
いろいろ
<?php 
$ary = [1,2,3,4,5]; 
$res = 【なんでしょう】;
<?php 
$ary = [1,2,3,4,5]; 
$res = array_chunk($ary, 2); 
//$res: [[1,2],[3,4],[5]]
array_map 
指定した配列の要素に 
コールバック関数を適用する 
http://jp1.php.net/manual/ja/function.array-map.php 
array_walk 
配列の全ての要素に 
ユーザー定義の関数を適用する 
http://jp1.php.net/manual/ja/function.array-walk.php 
答えはドキュメントの中! 
ヒント:引数と戻り値
array_map 
array array_map ( callable $callback , array $array1 [, array $... bool array_walk ( array &$array , callable $callback [, mixed $userdata 
array_walk 
そう! 
array_map は変更後の配列を作るためのもの 
array_walk は自身を書き換えるためのもの
よく使う 
便利な配列関数 
を2つ紹介
0,5,10,...という具合に 
10000まで5つ刻みの数列がほしい!
0,5,10,...という具合に 
10000まで5つ刻みの数列がほしい! 
range(0, 10000, 5)
$id = $array[0]; 
$name = $array[1]; 
これを下記のように書ける? 
($id, $name) = $array;
$id = $array[0]; 
$name = $array[1]; 
これを下記のように書けます! 
list($id, $name) = $ary;
SPL編 
Standard PHP Library (SPL) 
(標準で入っているライブラリ) 
http://jp1.php.net/manual/ja/book.spl.php
LogicException 
throwされたらバグだという場合の例外。 
つまり、これをキャッチするプログラムは不要だし、 
運用中には絶対throwされないようにすべき。 
バグを発見しやすくするために仕込む例外はコレ。 
if ($data == null) { 
throw new LogicException( 
"dataがnullの場合はこの関数使えません"); 
}
イテレータ 
普通なら、ループの中に色々な制御を 
入れていくことになるが、 
イテレータではループの外で 
条件などを定義可能。
SplFileObject 
ファイルの1行ずつをイテレータとして扱える。 
(メモリから消えると勝手にfclose するのも地味に便利) 
<?php 
$file = new SplFileObject($path); 
$file->setFlags(SplFileObject::READ_CSV); 
foreach ($file as $line) { 
echo $line[0]; 
}
AppendIterator 
イテレータ複数を1つのイテレータとして扱える。 
サイズが大きくてarray_merge では心配なとき良い。 
$ite = new AppendIterator(); 
$ite->append(new ArrayIterator([1,2,3])); 
$ite->append(new ArrayIterator([5,6,7])); 
foreach ($ite as $a) { 
echo $a; 
} 
//result: 123567
LimitIterator 
イテレータのループ範囲を限定する。上位100件とか。 
$ite = new ArrayIterator([1,2,3,4,5,6,7]); 
$ite = new LimitIterator($ite, 2, 4); 
foreach ($ite as $a) { 
echo $a; 
} 
//3456
CallbackFilterIterator 
イテレータにフィルタを適用する。 
$ite = new ArrayIterator([1,2,3,4,5,6,7]); 
$ite = new CallbackFilterIterator($ite, 
function($current, $key, $iterator) { 
return $current % 2 == 0; 
} 
); 
foreach ($ite as $a) { 
echo $a; 
} 
//246
PHPの公式ホームページは 
かなり充実しています。宝の山です。 
特に文法、配列、文字列、SPL まわり 
は一度ざっと読んでおくと良いでしょう。 
判らなかったら公式ホームページ 
を見てみましょう!
GMOリサーチ 
(10月21日上場しました!) 
現在、一緒に働ける仲間(社員)を 
募集しています!!
- GitHub / Git (git-flow) 
- PHPStorm 
- CakePHP 
- ユニットテスト/ Behat 
- 継続的インテグレーション 
- 将来は英語話せるようにサポート
- 無料のカフェ 
- お昼寝スペース(利用推奨) 
- 託児所 
- マッサージルーム
ぜひFacebook 等で 
寺田渉まで 
ご連絡ください!!
ご清聴ありがとうございました!

More Related Content

What's hot

Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門y-uti
 
PHP classの教室
PHP classの教室PHP classの教室
PHP classの教室Yusuke Ando
 
SlowQueryとの戦い
SlowQueryとの戦いSlowQueryとの戦い
SlowQueryとの戦いKen Gotoh
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話y-uti
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
 
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろうPerl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろうkeroyonn
 
本当は怖いPHP
本当は怖いPHP本当は怖いPHP
本当は怖いPHPTakuya Sato
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarSotaro Karasawa
 
phpspecで学ぶLondon School TDD
phpspecで学ぶLondon School TDDphpspecで学ぶLondon School TDD
phpspecで学ぶLondon School TDDAkio Ishida
 
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Akio Ishida
 
Perl logging
Perl loggingPerl logging
Perl loggingkeroyonn
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021Rui Hirokawa
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014Rui Hirokawa
 
Gen-Template-for-Perl
Gen-Template-for-PerlGen-Template-for-Perl
Gen-Template-for-Perlnasneg
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介sters
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺちdo_aki
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかKousuke Ebihara
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011Rui Hirokawa
 
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方kwatch
 

What's hot (20)

Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
PHP classの教室
PHP classの教室PHP classの教室
PHP classの教室
 
SlowQueryとの戦い
SlowQueryとの戦いSlowQueryとの戦い
SlowQueryとの戦い
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
 
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろうPerl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
 
本当は怖いPHP
本当は怖いPHP本当は怖いPHP
本当は怖いPHP
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
phpspecで学ぶLondon School TDD
phpspecで学ぶLondon School TDDphpspecで学ぶLondon School TDD
phpspecで学ぶLondon School TDD
 
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
 
Perl logging
Perl loggingPerl logging
Perl logging
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
Gen-Template-for-Perl
Gen-Template-for-PerlGen-Template-for-Perl
Gen-Template-for-Perl
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
 
詳説ぺちぺち
詳説ぺちぺち詳説ぺちぺち
詳説ぺちぺち
 
お前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのかお前は PHP の歴史的な理由の数を覚えているのか
お前は PHP の歴史的な理由の数を覚えているのか
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011
 
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
 

Viewers also liked

『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったかHiroshi Tokumaru
 
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面Masao Maeda
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い sasezaki
 
みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)Yasutaka Hamada
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。sasezaki
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015ichikaway
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-Masashi Shinbara
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015Rui Hirokawa
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側do_aki
 

Viewers also liked (9)

『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
 
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)みんなそろそろ707やめようぜ (;´Д`)
みんなそろそろ707やめようぜ (;´Д`)
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
 
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側
 

Similar to 知ってるようで意外と知らないPHPの便利関数

Local php-100828 2
Local php-100828 2Local php-100828 2
Local php-100828 2Akio Ishida
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012Yusuke Ando
 
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)noldor
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)Arata Fujimura
 
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~leverages_event
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
&& || and or まぜるな危険
&& || and or まぜるな危険&& || and or まぜるな危険
&& || and or まぜるな危険Hisateru Tanaka
 
Livesense tech night immutable-js at a glance
Livesense tech night   immutable-js at a glanceLivesense tech night   immutable-js at a glance
Livesense tech night immutable-js at a glanceYuta Shimakawa
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-Kazunari Hara
 
テストではまったお話 Test::More
テストではまったお話 Test::Moreテストではまったお話 Test::More
テストではまったお話 Test::MoreTetsuya Tatsumi
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミングlestrrat
 
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented ProgrammingPerl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programmingrisou
 
PHPのタイプヒンティング
PHPのタイプヒンティングPHPのタイプヒンティング
PHPのタイプヒンティングHidetaka Okamoto
 

Similar to 知ってるようで意外と知らないPHPの便利関数 (20)

Cakephp api
Cakephp apiCakephp api
Cakephp api
 
Local php-100828 2
Local php-100828 2Local php-100828 2
Local php-100828 2
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
 
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
 
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
URLで遊ぼう
URLで遊ぼうURLで遊ぼう
URLで遊ぼう
 
Php apocalypse
Php apocalypsePhp apocalypse
Php apocalypse
 
&& || and or まぜるな危険
&& || and or まぜるな危険&& || and or まぜるな危険
&& || and or まぜるな危険
 
pecl-AOPの紹介
pecl-AOPの紹介pecl-AOPの紹介
pecl-AOPの紹介
 
Livesense tech night immutable-js at a glance
Livesense tech night   immutable-js at a glanceLivesense tech night   immutable-js at a glance
Livesense tech night immutable-js at a glance
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
 
テストではまったお話 Test::More
テストではまったお話 Test::Moreテストではまったお話 Test::More
テストではまったお話 Test::More
 
Swiftおさらい
SwiftおさらいSwiftおさらい
Swiftおさらい
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
 
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented ProgrammingPerl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programming
 
PHPのタイプヒンティング
PHPのタイプヒンティングPHPのタイプヒンティング
PHPのタイプヒンティング
 

More from Wataru Terada

Chrome拡張で改善 表紙
Chrome拡張で改善 表紙Chrome拡張で改善 表紙
Chrome拡張で改善 表紙Wataru Terada
 
PHP選んで良かったこと
PHP選んで良かったことPHP選んで良かったこと
PHP選んで良かったことWataru Terada
 
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていることWataru Terada
 
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったらWataru Terada
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったことWataru Terada
 
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには自動テストで開発効率を上げるには
自動テストで開発効率を上げるにはWataru Terada
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと初めてのTravisCIでハマったこと
初めてのTravisCIでハマったことWataru Terada
 
単体テストで工数を短縮する
単体テストで工数を短縮する単体テストで工数を短縮する
単体テストで工数を短縮するWataru Terada
 
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方デグレを防ぐテストの書き方
デグレを防ぐテストの書き方Wataru Terada
 
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrantCakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrantWataru Terada
 

More from Wataru Terada (11)

Chrome拡張で改善 表紙
Chrome拡張で改善 表紙Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
 
PHP選んで良かったこと
PHP選んで良かったことPHP選んで良かったこと
PHP選んで良かったこと
 
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること
 
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったこと
 
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
 
単体テストで工数を短縮する
単体テストで工数を短縮する単体テストで工数を短縮する
単体テストで工数を短縮する
 
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
 
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrantCakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrant
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (10)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

知ってるようで意外と知らないPHPの便利関数