67
知って得する標準関数の使い方

知って得する標準関数の使い方

Embed Size (px)

DESCRIPTION

第三回 岡山PHP勉強会の資料です

Citation preview

Page 1: 知って得する標準関数の使い方

知って得する標準関数の使い方

Page 2: 知って得する標準関数の使い方

What is it?

PHPを使う理由ってなんでしょう?

Page 3: 知って得する標準関数の使い方

What is it?

WEBに相性がいいから?

レンサバが標準的に対応してるから?

情報が沢山あるから?

Page 4: 知って得する標準関数の使い方

What is it?

最初から武器が揃っている

と言うのは大切なことです

Page 5: 知って得する標準関数の使い方

What is it?

なので最初から用意されている

標準関数

を使わないのは勿体無い!!

Page 6: 知って得する標準関数の使い方

What is it?

今日は便利な標準関数たちを紹介します

Page 7: 知って得する標準関数の使い方

What is it?

大 前 提

紹介する関数は

PHP5.3以上からのもの

も含まれます

できるだけPHPは最新版を使いましょう

Page 8: 知って得する標準関数の使い方

あじぇんだ

1 自己紹介

2 配列を制するモノはPHPを制す

3 ファイル操作

4 まとめ

Page 9: 知って得する標準関数の使い方

あじぇんだ

1 自己紹介

2 配列を制するモノはPHPを制す

3 ファイル操作

4 まとめ

Page 10: 知って得する標準関数の使い方

自己紹介

名前:曽根 壮大(そね たけとも)

年齢:27歳(二十代だよ!)

職業:WEB系プログラマー

技術的にはWEB系でLLとかRDBをゴリゴリしてます。

Page 11: 知って得する標準関数の使い方

日本PostgreSQLユーザ会

Twitterは

@soudai1025

と言うアカウントで活動してます。

Page 12: 知って得する標準関数の使い方

あじぇんだ

1 自己紹介

2 配列を制するモノはPHPを制す

3 ファイル操作

4 まとめ

Page 13: 知って得する標準関数の使い方

配列を制するものはPHPを制す

PHPといえば配列

皆さん、配列使ってますか?

Page 14: 知って得する標準関数の使い方

配列を制するものはPHPを制す

まずは配列を扱う際の

便利な関数を紹介します

Page 15: 知って得する標準関数の使い方

配列を制するものはPHPを制す

1 配列の作成

2 配列の操作

Page 16: 知って得する標準関数の使い方

配列を制するものはPHPを制す

1 配列の作成

2 配列の操作

Page 17: 知って得する標準関数の使い方

1 配列の作成

配列を作成する時

$array = array(1,2);

$array[] = 1;

$array[] = 2;

$array = array();

array_push($array, 1, 2);

Page 18: 知って得する標準関数の使い方

1 配列の作成

他にも配列を生成する方法があります

Page 19: 知って得する標準関数の使い方

1 配列の作成

explode

文字列を文字列により分割する

Page 20: 知って得する標準関数の使い方

1 配列の作成

$str = ‘2012-09-25’;

$dete_array = expload(‘-’, $str);

echo $dete_array[0]; //2012

echo $dete_array[1]; //09

echo $dete_array[2]; //25

Page 21: 知って得する標準関数の使い方

1 配列の作成

正規表現を使う場合は

preg_split

を使うことで同様のことが出来ます

Page 22: 知って得する標準関数の使い方

1 配列の作成

Excel用のCSVの場合は

str_getcsv

を使うことで囲い文字等を指定出来ます

Page 23: 知って得する標準関数の使い方

1 配列の作成

$str = '"hoge",1,"2"';;

$csv_array = str_getcsv($str, ‘,’, ‘”’);

//上と等価

$csv_array = str_getcsv($str);

echo $csv_array[0]; //hoge

echo $csv_array[1]; //1

echo $csv_array[2]; //2

Page 24: 知って得する標準関数の使い方

1 配列の作成

$data =<<<EOF

“hoge”,1

“fuga”,2

EOF;

Page 25: 知って得する標準関数の使い方

1 配列の作成

$lines = explode("¥n", $data);

foreach ($lines as $line) {

$ret[] = str_getcsv($line);

}

print_r($ret);

Page 26: 知って得する標準関数の使い方

1 配列の作成

[0] => Array

(

[0] => hoge

[1] => 1

)

[1] => Array

(

[0] => fuga

[1] => 2

)

Page 27: 知って得する標準関数の使い方

1 配列の作成

JSON

XML

SERIAL

などをエンコード、デコードして

配列にする関数が多数

Page 28: 知って得する標準関数の使い方

配列を制するものはPHPを制す

1 配列の作成

2 配列の操作

Page 29: 知って得する標準関数の使い方

2 配列の操作

配列の操作

sort() //並べ変え

array_unique() //値の重複削除

array_merge() //配列の結合

array_shift() //配列の先頭の取出し

array_unshift() //配列の先頭へ追加

array_pop() //配列の末尾の取出し

Page 30: 知って得する標準関数の使い方

2 配列の操作

まだまだあります配列操作用の関数

Page 31: 知って得する標準関数の使い方

2 配列の操作

array_combine

一方の配列をキーとして

もう一方の配列を値として

ひとつの配列を生成する

Page 32: 知って得する標準関数の使い方

2 配列の操作

$a = array('green', 'red', 'yellow');

$b = array('avocado', 'apple', 'banana');

$c = array_combine($a, $b); print_r($c);

Page 33: 知って得する標準関数の使い方

2 配列の操作

Array

(

[green] => avocado

[red] => apple

[yellow] => banana

)

Page 34: 知って得する標準関数の使い方

2 配列の操作

array_map

指定した配列の要素に

コールバック関数を適用する

Page 35: 知って得する標準関数の使い方

2 配列の操作

$func = function($value) {

return $value * 2;

};

print_r(array_map($func, range(1, 5)));

Page 36: 知って得する標準関数の使い方

2 配列の操作

Array (

[0] => 2

[1] => 4

[2] => 6

[3] => 8

[4] => 10

)

Page 37: 知って得する標準関数の使い方

2 配列の操作

$a = array(1, 2);

$b = array("one", "two");

$c = array("uno", "dos");

$d = array_map(null, $a, $b, $c);

print_r($d);

Page 38: 知って得する標準関数の使い方

2 配列の操作

[0] => Array (

[0] => 1

[1] => one

[2] => uno

)

[1] => Array (

[0] => 2

[1] => two

[2] => dos

)

Page 39: 知って得する標準関数の使い方

2 配列の操作

困ったらまずリファレンスを読む

Page 40: 知って得する標準関数の使い方

あじぇんだ

1 自己紹介

2 配列を制するモノはPHPを制す

3 ファイル操作

4 まとめ

Page 41: 知って得する標準関数の使い方

ファイル操作

PHPはファイルの操作に関しても

かなり充実しています

Page 42: 知って得する標準関数の使い方

ファイル操作

mkdir

ディレクトリの作成

第三引数を付けると再帰的に作成してくれる

Page 43: 知って得する標準関数の使い方

ファイル操作

$path = './now_dir/hoge/fuga/';

mkdir($path, 0777, true);

Page 44: 知って得する標準関数の使い方

ファイル操作

file_put_contents

文字列をファイルに書き込む

Page 45: 知って得する標準関数の使い方

ファイル操作

$path = './now_dir/hoge.log';

$file_data = ‘hogehoge data’;

file_put_contents($path, $file_data);

Page 46: 知って得する標準関数の使い方

ファイル操作

引数を増やすことで追記や排他ロックも可能

file_put_contents($path, $log_data, FILE_APPEND | LOCK_EX);

Page 47: 知って得する標準関数の使い方

ファイル操作

file_get_contents

ファイルの内容を全て文字列に読み込む

Page 48: 知って得する標準関数の使い方

ファイル操作

//include_pathを指定することも出来る

$file = file_get_contents($path, $include_path);

//URLからも取得できる

$hp = file_get_contents(‘http://hogehoge.com/');

Page 49: 知って得する標準関数の使い方

ファイル操作

などなど多くの関数が用意されています

Page 50: 知って得する標準関数の使い方

あじぇんだ

1 自己紹介

2 配列を制するモノはPHPを制す

3 ファイル操作

4 まとめ

Page 51: 知って得する標準関数の使い方

おまけ

Page 52: 知って得する標準関数の使い方

おまけ

ちょっとだけ告知

Page 53: 知って得する標準関数の使い方

おまけ

最近 (2012 年 9 月 10 日)

PostgreSQLの最新バージョン

(9.2.0)

が出ました!

Page 54: 知って得する標準関数の使い方

おまけ

OSC2012@広島

日時 :2012/10/20 10:00 to 18:00 定員 :部屋による 会場 :広島国際学院大学 検索ワード :OSC 広島

Page 55: 知って得する標準関数の使い方

おまけ

オープンセミナー2013@HIROSHIMA

日時 :2013/1/19 10:00 to 17:00 定員 :80 人(ぐらい 会場 :rcc文化センター 6階 601(B1) 検索ワード :OSH広島

Page 56: 知って得する標準関数の使い方

まとめ

では本当にまとめ

Page 57: 知って得する標準関数の使い方

まとめ

標準関数以外にも更に外部ライブラリの

・pear

・composer

などを使うとより一層便利です

Page 58: 知って得する標準関数の使い方

まとめ

更に外部ライブラリの

・pear

・composer

を使うとより一層便利です

Page 59: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

Page 60: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

Page 61: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

Page 62: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

・関数一発で解決!

Page 63: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

・関数一発で解決!

3 兎にも角にもリファレンスに目を通す

Page 64: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

・関数一発で解決!

3 兎にも角にもリファレンスに目を通す

・マジックメソッドやマジック定数もある

Page 65: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

・関数一発で解決!

3 兎にも角にもリファレンスに目を通す

・マジックメソッドやマジック定数もある

・ラムダも使え、オブジェクト指向も出来る

Page 66: 知って得する標準関数の使い方

まとめ

1 PHPは配列の扱いに長けている

・色んなシーンに合わせた関数を使い分ける

2 ファイル操作でFileをOpenしない

・関数一発で解決!

3 兎にも角にもリファレンスに目を通す

・マジックメソッドやマジック定数もある

・ラムダも使え、オブジェクト指向も出来る

PHPを知って、より一層「楽をするプログラミング」をしましょう!!

Page 67: 知って得する標準関数の使い方

ご清聴ありがとございました。