Pear 安裝 DB套件

主機  Ubutu 14.04.06 + PHP5.5

下 pear list 指令  

沒有安裝DB套件

先升級 pear 

pear  install  PEAR-1.10.10

再安裝 DB套件

pear install DB

就有DB的套件了

引入 DB

require “DB.php”;

連接mysql資料庫

$dsn = "mysql://{$mysql_user}:{$mysql_pass}@{$mysql_host}/{$db_name}";
$dbCon = DB::connect($dsn);
$sqlstr=" select * from gov ";
$sth = $dbCon->query($sqlstr);

三種取值方法

Method-1
$row = $sth->fetchRow(DB_FETCHMODE_ASSOC);
print "first".$row[gov_code]."-".$row[login_pass]."
";

Method-2
$row1 = $sth->fetchRow(DB_FETCHMODE_OBJECT);
print "second".$row1->gov_code."-".$row1->login_pass."
";

Method-3
$row2 = $sth->fetchRow();
print "third".show_array($row2)."
";

設定中文編碼UTF8

$dbCon->query('SET NAMES utf8');

PHP傳址呼叫、傳值呼叫、傳遞參考

常常看到函數前會加一個&符號,&到底是什麼意思?

例如

funcion &get_product_list ($department){
    $product_list = array();
    return $product_list;
}

$products = &get_product_list('rd')

這裡的加上&符號是什麼意思呢?查一下知道是用傳遞參考的方法呼叫函數。函數傳遞資料有三種方式:傳址呼叫(pass by adress)、傳值呼叫(pass by value)、傳遞參考(pass by reference)區別在哪裡呢?以下說明

& ->取址運算子

*->取值運算子

函數中資料的傳遞:傳值、傳址、傳參考
以下的說明是每種程式語言都通用的觀念,但不同程式語言有不同的語法,以及不同的程式語言不一定都支援全部的傳遞方式,要看你使用的是哪種程式語言。

Associative Array

關聯式陣列 結合陣列

在電腦科學中,關聯陣列(英語:Associative Array),又稱對映(Map)、字典(Dictionary)是一個抽象的資料結構,它包含著類似於(鍵,值)的有序對。一個關聯陣列中的有序對可以重複(如C++中的multimap)也可以不重複(如C++中的map)。
這種資料結構包含以下幾種常見的操作:
向關聯陣列添加配對
從關聯陣列內刪除配對
修改關聯陣列內的配對
根據已知的鍵尋找配對
  • 陣列大小無須宣告。
  • 各元素的資料型態,不一定要相同。
  • 透過索引值或字串值來存取值。

向量陣列(Actor array)

傳統程式語言(如VB,C,C##,JAVA)的陣列屬於向量陣列

  • 陣列大小事先宣告。
  • 各元素型態都一樣。
  • 透過索引值來存取值。