PHPで重複しない乱数を生成する方法

乱数表
これが乱数表ってやつ

単純に乱数を生成したい場合は rand()関数を使いましょう。

rand() マニュアル
http://jp2.php.net/manual/ja/function.rand.php

ただこの場合、0〜10の乱数が2個必要!とかいうときに結構な確率で数字がかぶってしまいます。
なので次のようにしましょう。

    1. range($min, $max)関数で $minから$maxまでの整数値を得る

range()関数
http://jp2.php.net/manual/ja/function.range.php

    1. shuffle()関数で値をシャッフル

shuffle()関数
http://jp2.php.net/manual/ja/function.shuffle.php

コードで書くとこうなります。

shuffle($random); 
// 配列をランダムに並び替える 
// $randomには $random[0]から$random[10]までにランダムな数値が入っています。 
// $random[0]から必要な分だけ取得すればOK 
foreach($random as $rand){
  echo $rand;
}

 

何か質問等ございましたらコメント欄にどうぞ!!

PHPで文字列を切り出す方法

シンプルに切り出す方法、中途半端なところから切り出す、一番後ろから切り出す、など

最近文字列を切り出す作業をすることが多いので、自分のメモ用に残しておきます。
文字列を切り出すためには、PHPに標準で実装されているsubstr関数を使用します。

substr – PHPマニュアル

以下に使用例を示します。

<?php
$rest = substr("abcdef", 0, 2); // "ab"を返す 
$rest = substr("abcdef", -1); // "f" を返す
$rest = substr("abcdef", -2); // "ef" を返す
$rest = substr("abcdef", -3, 1); // "d" を返す 
?>

 

文字列の1文字目は0から始まることに注意しましょう。

気をつけるべきところは最後の例のマイナスを第2引数に指定した場合です。
第3引数に指定するものは、第2引数に指定した位置から、何文字を切り出すかを指定する点です。

【CakePHP2.1】モデルで定義したバリデーションのエラーメッセージを表示する方法

少しはまったのでシェア

例えばPostモデルで定義したhogeフォームのバリデーションを下のように定義します。
Controller では $helpers = array(‘Session’); を定義しておきます。

<?php 
class Post extends AppModel { 
    public $validates = array(  
        'hoge' => array( 
            'rule' => 'notEmpty',
            'message' => 'hogehogehoge' 
        ) 
    );
}

 

CakePHPのチュートリアルではモデルでバリデーションを定義すれば自動的にエラーメッセージが出力されたのですが、レイアウトを独自なものにした場合(案の定)表示されない。
“【CakePHP2.1】モデルで定義したバリデーションのエラーメッセージを表示する方法” の続きを読む