20M你要讀到數(shù)組中,如果你不清楚要用到里面哪些數(shù)據(jù),并且你的數(shù)據(jù)比較規(guī)律的話,你可以把這20M切開不同個(gè)小文件,再根據(jù)你在程序中要用的數(shù)據(jù)來(lái)做判斷是載入哪個(gè)文件,比如你這20M文件都有一個(gè)索引id,1,2,3,4,5....你可以把這20M文件的數(shù)據(jù)id為1-1000的存到一個(gè)文件里,1001-2000存到另一個(gè)文件里,你在用時(shí)根據(jù)要用到的id判斷載入哪個(gè)文件,這只是個(gè)思路,具體要看你的數(shù)據(jù)是個(gè)什么樣的,能不能滿足切開放的條件
創(chuàng)新互聯(lián)建站專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、根河網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為根河等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
按我的理解這里存在兩個(gè)方面的問(wèn)題,
dbclass是數(shù)據(jù)庫(kù)操作類,funclass是數(shù)據(jù)業(yè)務(wù)訪問(wèn)類,這兩個(gè)從邏輯上說(shuō)應(yīng)該不屬于繼承關(guān)系,用繼承不太恰當(dāng)
dbclass里應(yīng)該會(huì)有訪問(wèn)數(shù)據(jù)庫(kù)的所需的參數(shù)信息,這個(gè)有可能寫在配置文件里,也有可能在代碼里傳參,因此這里你可以通過(guò)修改代碼實(shí)現(xiàn)能動(dòng)態(tài)調(diào)用的多庫(kù)
解決辦法
1. 用繼承的方式
class?funclass?extends?dbclass{
public?function??index_news(){
$this-set_database($a);?//set_database?指定數(shù)據(jù)庫(kù),dbclass里如果沒(méi)有就需要自己寫個(gè)
$this-query($sql);???//query方法是dbcalss類中的方法
$this-set_database($b);
$this-query($sql);???
}
2.不用繼承的方式
class?funclass{
public?function??index_news(){
$dba?=?new?dbclass($a);?//需要實(shí)現(xiàn)db類支持用構(gòu)造函數(shù)指定數(shù)據(jù)庫(kù)
$dbb?=?new?dbclass($b);
$dba?-query($sql);???//query方法是dbcalss類中的方法
$dbb?-query($sql);???
}
這里定義2個(gè)php匿名對(duì)象和數(shù)組相互轉(zhuǎn)換的函數(shù),代碼如下:
function array2object($array) {
if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key = $val){ $obj-$key = $val; } } else { $obj = $array; } return $obj;}function object2array($object) { if (is_object($object)) { foreach ($object as $key = $value) { $array[$key] = $value; } } else { $array = $object; } return $array;}
用法示例如下:
$array = array('foo' = 'bar','one' = 'two','three' = 'four');$obj = array2object($array);print $obj-one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar
?php
$conn=new?mysqli("127.0.0.1",?"root",?"jack123456",?"test");
???if(mysqli_connect_error()){??
$this-error?=?mysqli_connect_error();??
return?FALSE;??
}??
$conn-query("SET?NAMES?UTF8");
$Id?=?$_GET['id'];?//具有唯一性,自增
$mobile?=?$_GET['mobile'];?//具有唯一性
$sql1?=?"select?*?from?users?where?ID=$Id";
//這里我要判斷這條數(shù)據(jù)是否存在,存在就獲取mobile,無(wú)需循環(huán)
$rs?=?$conn-query($sql1);
if?($rs-num_rows!==0)?{
$row?=?$rs?-?fetch_assoc();
$mobile=?$row['mobile'];
$rs-close();
echo?"get";
}?else?{//如果數(shù)據(jù)不存在,就新增一條
$sql2?=?"insert?into?users?(mobile)?values('$mobile')";
$conn-query($sql2);//插入之后,獲取該信息,這里要從數(shù)據(jù)庫(kù)中獲取,不要Get的數(shù)據(jù)。
$sql3?=?"select?*?from?users?where?mobile?=?'$mobile?'";
if?($rs?=?$conn-query($sql3))?{
$row?=?$rs?-?fetch_assoc();
$Id?=?$row['ID'];
$mobile?=?$row['mobile'];
$rs-close();
echo??"charu";
}else{
echo?'插入數(shù)據(jù)失敗';
}
}
$sql4?=?"update?Users?set?loginIp='127.0.0.1'?where?ID='$Id'";
$conn-query($sql4);
mysqli_close($conn);//關(guān)閉連接
表結(jié)構(gòu) 字段名的大小寫 一定要注意
php不是一切皆對(duì)象,只有類class才是對(duì)象,在類中可以添加,
(添加、刪除、使用)的方法,當(dāng)然你要編寫一切皆對(duì)象的php程序也是可以的??茨愎αα恕?/p>
這是連接mysql數(shù)據(jù)庫(kù)的簡(jiǎn)單代碼:
$conn=new?PDO("mysql:host=localhost;dbname=webdata","user","pwd");
$sth=$conn-prepare("select?*?from?books");
$sth-execute();
while($res=$sth-fetch(PDO::FETCH_ASSOC))
{
echo("div".$res["id"].":".$res["title"]."--".$res["author"]);
}
名稱欄目:php操作對(duì)象數(shù)據(jù) php對(duì)象是什么類型的數(shù)據(jù)
文章位置:http://muchs.cn/article34/doocsse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站營(yíng)銷、用戶體驗(yàn)、網(wǎng)站策劃、Google、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)