ランダムな値を取得したい。

PHPで乱数を発生させるには、mt_rand()関数を使います。

rand()という関数もありますが、mt_rand()の方がスピードが
速いらしい。

引数を二つ指定することにより、第一引数から、第二引数
の間ので乱数を生成します。

また、引数を指定しないと、0から、mt_getrandmax()で得られる値の間
で乱数を作成します。

0~100までの間でランダムな値を取得したい!

<?php
$min = 0;
$max = 100;

for($i = 0; $i < 10; $i++) {
    echo mt_rand($min, $max)."n";
}

この実行結果例は以下になります。

$ php rand.php
63
72
42
39
10
74
22
90
89
18

実行するたびにこの結果は変化します。

とりあえずランダムな値がほしい!

<?php

echo "max:".mt_getrandmax()."n";

for($i = 0; $i < 10; $i++) {
    echo mt_rand()."n";
}

この実行結果は以下。

$ php rand2.php
max:2147483647
637948181
501053087
2115436226
1509117534
2029800933
591732286
690006752
1213376827
1938956894
774023883

この実行結果も毎度変わりますが、maxの値は環境が同じであれば
変わらないはずです。
この環境では、引数なしの時の最大値は「2147483647」となることが
わかります。

文字列から日付データに変換(strtotime関数)

例えば、”2013/05/21″ や “2013-05-21″ などの文字列データを日付のデータ
に直したい場面はたまにあると思います。

そんな時は、関数「strtotime()」を使います。

strtotime()は引数に、上記のような文字列を入れると、それに合った
タイムスタンプの値を返してくれます。

<?php

$str = "2013-05-14";

$time = strtotime($str);

echo date('Y/m/d', $time)."n";

上記を実行すると以下のようになります。

$ php strtotime.php
2013/05/14

最後の1文字を削除したい

最後の1文字を削除したい場合、substr()を使えば簡単です。

以下のように、substr(, 0, -1); とすれば、最後の1文字が
削除された文字列が返されます。

$string = "hogehogehoge-----!!";
echo substr($string, 0, -1);

上記の実行結果は以下になります。

hogehogehoge-----!

ただし、日本語を扱うときは、mb_substr()を使います。

$string = "あいうえおか";
echo mb_substr($string, 0, -4);

上記のようにすると、出力が「あいうえ」となります。
つまり、-4で2文字にしかならないみたいです。
なので、最後の日本語1文字を消すときは、mb_substr($string, 0, -2);
とした方がいいのかもしれません。この場合、「あいうえお」と表示されます。

その月の最終日、日数を取得したい!

任意の月の最終日や日数を取得したい場合は、date()関数の’t’を使えば簡単です。

例えば現在の月の最終日は以下のように取得できます。

$last_day = date('t');

日数と 最終日はイコールなので、日数もこれで得られます。

例えば、2014年2月の最終日(日数)を知りたい場合は以下のようにします。

$year = 2014;
$month = 2;

$last_day = date('t', mktime(0,0,0,$month, 1, $year));

ある月の初めと最後のタイムスタンプを得たいときは以下のようにできます。

$start_date  = mktime(0, 0, 0, $month, 1, $year);
$end_date    = mktime(0, 0, 0, $month, date('t', $start_date), $year);

配列の中のどれかには一致するか?(in_array関数)

in_array関数を使うことで、配列に入った複数の値の中に対象の値があるかどうかを簡単に調べる
ことができます。

たとえば、配列変数 $today_menu に “エビ”, “ピーマン”, “きゅうり” のように、食べ物のリストが
入っているとし、$my_hateには嫌いな食べ物が入っているとします。

このとき、今日のメニューに嫌いな食べ物が入っているかを調べるには以下のようにします。

if(in_array($my_hate, $today_menu)){
  echo "本日のメニューには嫌いなものが入っています。";
} else {
  echo "本日のメニューには嫌いなものが入っていません。";
}

各変数の値が以下ならばif文に一致し”本日のメニューには嫌いなものが入っています。”と
出力されます。

$today_menu = "エビ", "ピーマン", "きゅうり";
$my_hate = "エビ";

各変数の値が以下ならばif文に一致せず”本日のメニューには嫌いなものが入っていません。”と
出力されます。

$today_menu = "エビ", "ピーマン", "きゅうり";
$my_hate = "カニ";

ちなみに、in_array関数の書式は以下です。

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

PHPで先頭の文字を大文字にしたい

PHPで先頭の文字を大文字にしたい場合は、 ucwords()関数を使用します。

string ucwords ( string $str )

使用方法は簡単で引数に入れた文字列が、先頭文字が大文字になって介されるというものです。

echo ucwords("hogehoge"); //Hogehogeと表示される。

http://php.net/manual/ja/function.ucwords.php