文学部プログラマー日記

プログラミング学習に関する有益な情報を発信する…はず。

Paizaで使えそうなPHPの関数 文字列編

みなさんこんにちは。たかみんです。

今日はPaizaで使えそうなPHPの関数をまとめていきます。

目次

  1. Paizaとは
  2. PHP関数 文字列を軽くまとめる

Paizaとは

とつぜんですがPaizaをご存知でしょうか!
Paizaに行くならなんとここをクリックするだけで良いという心遣い

Paizaとはエンジニアのための企業紹介サイトです。
自分も企業探しに使っていますが、実はPaizaではエンジニアのスキルレベルをチェックすることができます!!

ランクFから始まり F→E→D→C→B→A→Sランクまで上げることができ、上位になればなるほど選考を有利に進めることができます。

しかし、選考有利以外にもプログラミングの勉強にも役立つので、そっち方面で使用するのもおすすめです。

自分もPaizaを使っていろんな関数を知る事ができました。

という訳で、今回はPaizaでも恐らく使うであろうPHPの定番の関数を紹介していきます。

PHP関数 文字列を軽くまとめる

【文字列を大文字、小文字にする】

strtoupper('大文字にしたい文字列');
strtolower('小文字にしたい文字列');

$str = Hello World;

strtoupper($str);  //HELLO WORLD
strtolower($str);  //hello world

【文字列を違うものに変換する】

str_replace('これから変える文字', '変換後の文字', '探す場所');

$pets = ('dog', 'cat', 'bird', 'penguin');
str_replace('penguin', 'fish', $pets);

//コレで配列petsの中のpenguinがfishに変わります。

配列を指定しなくても、変数や文字列でも良いはずです。

ちなみにこの関数は第4引数も指定することができ、そこには変換した回数が格納されます。

str_replace('penguin', 'fish', $pets, $a);

echo $a; //1

【文字列の部分切り取り】

substr(考える文字列, スタート箇所, 何文字切り取るか);

$str = helloworld;
substr($str, 3, 4);  //lowo
substr($str, 4);  //oworld
substr($str, -4, 3);  //orl

スタート箇所をマイナスにすると、文字列の最後から数えるようになります。

【文字列の長さ】

strlen(長さを知りたい文字列);

$str = HelloWorld;
strlen($str);  //10

【改行の切り取り】

文字列の前や後ろにある改行、空白をなくしたい場合に使う。

$str = __Hello World_
trim($str); //Hello World
rtrim($str);  //__Hello World
ltrim($str);  //Hello World_

rをつけると右からだけ取り除く。
lをつけると左からだけ取り除く。

【型をかえる】

(int) //整数型へ
(string) //文字列へ
(float) //小数点型へ

$num = 2.0;
$a = (int)$num;  //整数型の2になる。
$b = (string)$num;  //"2.0"という文字列になる。

【文字列を指定した文字の部分で分割する】

explode(区切り文字,適用する文字列);

$str = 'Hello World Nice to Meet You';
$newstr = explode(' ', $str)"  //空白で区切ろうとしている
ちなみに$newstrは配列になる。
[0] = Hello
[1] = World 
[2] = Nice
[3] = to 
[4] = Meet
[5] = You

【文字列を数ずつ分割する】

str_split(分割したい文字列, 数);

$str = 'Hello World';
$a = str_split($str);  //数を指定しない場合、一文字ずつ
結果は配列にいれられる。
H, e, l, l, o, _, W, o, r, l, d 

str_split($str, 3);
結果は3つずる格納される
Hel, lo_, Wor, ld

まとめ

自分も勉強中なので随時更新していきます。

{x}と{x,y}の使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは{x} {x,y}の使い方についてまとめたページです。

{x},{x,y}の使い方

{x}は直前をx回繰り返すを表すメタ文字です。
a{4}defと書けばaを4回繰り返している aaaadefがヒットします。


{x,y}にすると、直前をx~y回繰り返すと言いう意味になります。
[ab]{3,5}12だと、「aまたはbを3~5回繰り返す」という意味になるので、
aabb12 aaaaa12 abb12などがヒットするようになります。

リンク

正規表現一覧のページへ

SQL攻略7 グループ化後の条件を指定する

こんにちは。たかみんです。
一緒にSQL文を攻略しましょう。
今回はグループ化した後、「さらにそれについて条件を指定する方法」についてです。

目次

  1. グループ化したものに条件を指定する
  2. 条件一覧

グループしたものに条件を指定する

グループしたものに条件を指定するする場合はHAVINGを使います。

class1というテーブル
id|  name  | sex
1 |田中太郎| m
2 |田中次郎| m
3 |田中花子| f
4 |田中梅子| f
5 |山田太郎| m

SELECT 欲しいデータ FROM テーブル WHERE 条件 GROUP BY 纏めたいもの HAVING グループ化したものへの条件; 

SELECT sex, count(sex) FROM class1 GROUP BY sex HAVING count(sex) >= 3;
(性別の種類とそれぞれの数を表し、その結果で3以上の物を持ってきて)


Group byまでの結果(これは表示されないよ。)
f 2
m 3
HAVINGで条件を指定した最終結果(こちらが表示される)
m 3;

ここまでくると、SQLの基本的な部分が押さえられているんじゃないかなと思います。
(勉強中なので確証はないですが)

次回リンク

LimitとOffsetについて

[ ]と[^ ]の使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは[ ][^ ]の使い方についてまとめたページです。

[ ]と[^ ]の使い方

[]は中にあるものをまたはで考えるメタ文字です。
つまりabc[123]defと書けば、
abc1def abc2def abc3def がヒットします。
abc12defはヒットしません。


[^ ]にすると、先ほどとは逆に中身を否定します。
つまり[^ab]123だと、
a123 b123がだめで、 k123などがヒットするようになります。


以下の書き方が良く使われる(?)気がしてます。

[0-9] 0~9までの数字にヒット
[A-Z] 大文字のアルファベット全てにヒット
[a-z] 小文字のアルファベット全てにヒット
[0-9A-Za-z] 数字とアルファベット全てにヒット

リンク

正規表現一覧のページへ

\sと\Sの使い方 Regex(正規表現)攻略!

こんにちは。たかみんです。
一緒に正規表現を攻略しましょう。
このページは「\sと\S」についてまとめたページです。

\sと\Sの使い方

\sは空白を表すメタ文字です。
半角スペースやTabキーを押してできた空白にヒットします。
つまり、

Hello\sWorld

Hello World  ←スペースを押してできた空白  
Hello  World  ←Tabキーを押してできた空白  
のどちらにも反応します。

\Sは空白以外を表すメタ文字です。
つまり、空白以外の数字や文字記号全てにヒットします。

リンク

正規表現一覧のページへ

SQL攻略7 検索結果をグループ化する

こんにちは。たかみんです。
一緒にSQL文を攻略しましょう。
今回は検索結果のグループ化についてです。

目次

  1. 検索結果をグループ化する
  2. 条件一覧

検索結果をグループ化する

検索結果をグループ化する場合はGROUP BYを使います。

class1というテーブル
id|  name  | sex
1 |田中太郎| m
2 |田中次郎| m
3 |田中花子| f
4 |田中梅子| f
5 |山田太郎| m

SELECT 欲しいデータ FROM テーブル WHERE 条件 GROUP BY 纏めたいグループ; 

SELECT sex, count(sex) FROM class1 GROUP BY sex;
(性別を種類ごとにまとめて、それぞれの数を持ってきて)
結果
f 2
m 3
記号 意味
count() カラムにある個数を持ってきて
avg() 数値の平均を持ってきて
sum() 数値を全部足して持ってきて
max() 最大値だけ持ってきて
min() 最小値だけを持ってきて

グループ化の後は

グループ化の後は、グループ化した結果に条件を付けましょう。
例えば、「グループ化した後、3以上の物だけ表示」みたいな感じです。

リンク

グループ化の後に条件を指定する

SQL攻略6 条件を指定して検索する

こんにちは。たかみんです。
一緒にSQL文を攻略しましょう。
今回は検索結果の並べ替えについてです。

目次

  1. 検索結果を並べ替える
  2. 条件一覧

検索結果を並べ替える

検索結果を並べ替える場合はORDER BYを使います。

class1というテーブル
id|  name  | sex
1 |田中太郎| m
2 |田中次郎| m
3 |田中花子| f
4 |田中梅子| f
5 |山田太郎| m

SELECT 欲しいデータ FROM テーブル WHERE 条件 ORDER BY カラム名 ASCかDESC; 

SELECT * FROM class1 WHERE name LIKE '田中%' ORDER BY id DESC;
(名前が田中なんとかのデータをidの降順で全部持ってきて)
結果
4 田中梅子 f
3 田中花子 f
2 田中次郎 m
1 田中太郎 m
記号 意味
ASC 昇順。小さい物から昇っていく
DESC 降順。大きい物から降りていく

並び替えの後は

並び替えの次は、集計を行いましょう。
集計は、グループ化のことです。
同じ内容の物を一つのグループにします。

例えば、class1の性別はm,m,f,f,mですが、mが3人、fが2という風に集計できます。

リンク

グループ化の仕方