發表文章

目前顯示的是 10月, 2014的文章

[MYSQL] RAND()

RAND() 亂數 RAND() RAND(N) N傳入的數值 回傳一個隨機浮點數v,範圍在 0 到1 之間 ( 0 ≤ v ≤ 1.0)。若已指定一個整數參數 N ,則它被用作種子值,用來產生相同的亂數。 mysql> SELECT RAND(); -> 0.9233482386203 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(); -> 0.63553050033332 mysql> SELECT RAND(); -> 0.70100469486881 mysql> SELECT RAND(20); -> 0.15888261251047 若要在i ≤ R ≤ j 這個範圍得到一個隨機整數 R,需要用到運算式 FLOOR(i + RAND() * (j – i + 1))。例如,若要在7 到 12 的範圍(包括7和12)內得到一個隨機整數, 可使用以下語句: SELECT FLOOR(7 + (RAND() * 6)); 在ORDER BY語句中,不能使用一個帶有RAND()值的列,原因是 ORDER BY 會計算列的多重時間。然而,可按照如下方式取得檢索結果的隨機順序: SELECT * FROM tbl_name ORDER BY RAND(); 可以使用ORDER BY RAND()結合 LIMIT 達到從資料行中隨機取樣: SELECT * FROM table1, table2 WHERE a=b AND c 注意,在WHERE語句中,WHERE每執行一次,RAND()就會被再計算一次。 RAND()不能當作一個完美的亂數產生器(永遠不會重覆),而是在不同MySQL版本平台之間可相容,可以快速產生ad hoc亂數的產生器。

[PHP] 取得主要色值 RGB

function imgColor($imgUrl) {     $imageInfo = getimagesize($imgUrl);     $imgType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));     $imageFun = 'imagecreatefrom' . ($imgType == 'jpg' ? 'jpeg' : $imgType);     $i = $imageFun($imgUrl);     $rColorNum=$gColorNum=$bColorNum=$total=0;     for ($x=0;$x         for ($y=0;$y             $rgb = imagecolorat($i,$x,$y);             $r = ($rgb >> 16) & 0xFF;             $g = ($rgb >> 8) & 0xFF;             $b = $rgb & 0xFF;             $rColorNum += $r;             $gColorNum += $g;             $bColorNum += $b;             $total++;         }     }     $rgb = array();     $rgb['r'] = round($rColorNum/$total);     $rgb['g'] = round($gColorNum/$total);     $rgb['b'] = round($bColorNum/$total);     return $rgb; }