發表文章

目前顯示的是 四月, 2013的文章

CendOS 5.6 上利用 yum 安裝升級 php5.4

目前坊間很常用的版本應該是 php 5.2 或是 5.3,不過很怪異的是,CendOS 5.6 版預設的 yum 資料庫仍然是 5.1x版
這讓我們這種習慣於用 yum 解決大部分事情的懶人來說非常的苦手

不過事情還是有解決方式的
wget http://mirror01.idc.hinet.net/EPEL/5/i386/epel-release-5-4.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm yum --enablerepo=remi update php
這樣應該就可以了,用下面的指令可以簡單的看一下php 的版本
php -v

參考連結:
CentOS 5.5 升級至 PHP 5.3
linux 上快速架設php &MySQL服務

CodeIgniter 快速驗證表單內容 form_validation

圖片
說在前面:
這個功能只支援 POST 方式,並不支援 GET 方式。想必之後也不會支援到,因為 GET 基本上來說被當成是網址連結。所以他就不幫你處理這件事啦!


先說一下使用流程:
1. load 模組
2. 設定規則
3. 執行
4. 將錯誤寫進變數

1. load 模組
$this->load->library('form_validation'); 基本上並不是每個程式都會用到表單驗證,所以我是比較建議要用的時候再 load 進來

2. 設定規則
$this->form_validation->set_rules('欄位KEY值(input 的 name)','錯誤訊息要顯示的欄位名稱','規則,以 | 分隔'); $this->form_validation->set_rules('manager_id','帳號','required|min_length[4]|valid_email');

3.執行
if($this->form_validation->run() == false){ 檢查後不通過要執行的事 }else{ 通過要檢查的事 }

4.將錯誤寫進變數
$error = form_error('欄位KEY值(input 的 name)','錯誤訊息開頭 tag','錯誤訊息結束 tag'); $error = form_error('manager_id','',' '); 如果form_error 的後面兩個值不填的話,系統會自動補 p

php 多維陣列排序 array_multisort

當我們在製作清單的時候通常會使用到多維陣列,在取出資料前就先在sql 中下 order by 的指令,但是有些時候我們會需要用到直接針對已經取出的陣列進行重新的排序 (這樣就不用再去問 SQL) 了。
這時候我們就可以使用 array_multisort 這個函式。

這個函式的使用方式還滿特殊的
簡單的說只要輸入
array_multisort($陣列,排序方式); 例如:
array_multisort($json_arr,SORT_DESC); 這樣就會自動被使用降冪排列。

不過我們會用到這個功能時大部分都會需要指定要參照排列的 key 值,這時候我們要動點小手腳
foreach ($json_arr as $key => $value) {
$date[$key] = $value['date'];
$end[$key] = $value['end'];
}
array_multisort($date,SORT_DESC,$end,SORT_DESC,$json_arr,SORT_DESC); 這樣的話他就會依照 'date','end','json_arr'這樣的優先順序進行排序



參考資料:

PHP array_multisort() 函数PHP函数array_multisort()实现多维数组排序的示例讲解