php怎么生成數(shù)據(jù)庫字典 php怎么寫數(shù)據(jù)庫

怎么實現(xiàn)php自動創(chuàng)建數(shù)據(jù)庫,像discuz安裝時那樣,自己建數(shù)據(jù)庫和表?

你做好程序以后,把數(shù)據(jù)庫導(dǎo)出成sql文件(這個文件里就已經(jīng)有了一下創(chuàng)建數(shù)據(jù)表,添加數(shù)據(jù)記錄等的一些sql語句了)

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為永安企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計,永安網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

新建一個安裝文件:

1、連接數(shù)據(jù)庫(安裝的時候不是要填寫一些數(shù)據(jù)庫連接參數(shù)等嗎)

2、讀取這個sql文件里的sql語句,并執(zhí)行

3、生成一個數(shù)據(jù)庫連接參數(shù)的php文件

就這么簡單,思路是這樣啊,具體這么實現(xiàn),你自己慢慢研究

如何實現(xiàn)PHP自動創(chuàng)建數(shù)據(jù)庫

你做好程序以后,把數(shù)據(jù)庫導(dǎo)出成sql文件

1、連接數(shù)據(jù)庫

2、讀取這個sql文件里的sql語句,并執(zhí)行

3、生成一個數(shù)據(jù)庫連接參數(shù)的php文件

?php

$con?=?mysql_connect("localhost","peter","abc123");

if?(!$con)

{

die('Could?not?connect:?'?.?mysql_error());

}

if?(mysql_query("CREATE?DATABASE?my_db",$con))

{

echo?"Database?created";

}

else

{

echo?"Error?creating?database:?"?.?mysql_error();

}

mysql_close($con);

?

?php

class?ReadSql?{

//數(shù)據(jù)庫連接

protected?$connect?=?null;

//數(shù)據(jù)庫對象

protected?$db?=?null;

//sql文件

public?$sqlFile?=?"";

//sql語句集

public?$sqlArr?=?array();

public?function?__construct($host,?$user,?$pw,?$db_name)?{

$host?=?empty($host)???C("DB_HOST")?:?$host;

$user?=?empty($user)???C("DB_USER")?:?$user;

$pw?=?empty($pw)???C("DB_PWD")?:?$pw;

$db_name?=?empty($db_name)???C("DB_NAME")?:?$db_name;

//連接數(shù)據(jù)庫

$this-connect?=?mysql_connect($host,?$user,?$pw)?or?die("Could?not?connect:?"?.?mysql_error());

$this-db?=?mysql_select_db($db_name,?$this-connect)?or?die("Yon?can?not?select?the?table:"?.?mysql_error());

}

//導(dǎo)入sql文件

public?function?Import($url)?{

$this-sqlFile?=?file_get_contents($url);

if?(!$this-sqlFile)?{

exit("打開文件錯誤");

}?else?{

$this-GetSqlArr();

if?($this-Runsql())?{

return?true;

}

}

}

//獲取sql語句數(shù)組

public?function?GetSqlArr()?{

//去除注釋

$str?=?$this-sqlFile;

$str?=?preg_replace('/--.*/i',?'',?$str);

$str?=?preg_replace('/\/\*.*\*\/(\;)?/i',?'',?$str);

//去除空格?創(chuàng)建數(shù)組

$str?=?explode(";\n",?$str);

foreach?($str?as?$v)?{

$v?=?trim($v);

if?(empty($v))?{

continue;

}?else?{

$this-sqlArr[]?=?$v;

}

}

}

//執(zhí)行sql文件

public?function?RunSql()?{

foreach?($this-sqlArr?as?$k?=?$v)?{

if?(!mysql_query($v))?{

exit("sql語句錯誤:第"?.?$k?.?"行"?.?mysql_error());

}

}

return?true;

}

}

//范例:

header("Content-type:text/html;charset=utf-8");

$sql?=?new?ReadSql("localhost",?"root",?"",?"log_db");

$rst?=?$sql-Import("./log_db.sql");

if?($rst)?{

echo?"Success!";

}

?

數(shù)據(jù)庫數(shù)據(jù)字典怎么寫?

數(shù)據(jù)字典是什么

進(jìn)行數(shù)據(jù)庫設(shè)計的時候,對數(shù)據(jù)庫元素進(jìn)行的解釋說明就是數(shù)據(jù)字典。舉個例子吧,假設(shè)有下面這個設(shè)計出來的數(shù)據(jù)庫表:

player(fname, lname, account, pwd, email)

對應(yīng)的數(shù)據(jù)字典就是:

player:玩家信息表

fname:玩家名

lname:玩家姓

account:賬戶名

pwd:密碼

email:聯(lián)系電郵

這里只是一個針對某一表的數(shù)據(jù)字典,還有針對表與表之間關(guān)系的數(shù)據(jù)字典、表內(nèi)字段屬性的數(shù)據(jù)字典等等。越是大型的數(shù)據(jù)庫設(shè)計,越是需要數(shù)據(jù)字典來輔助進(jìn)行設(shè)計說明,幫助設(shè)計人員之間的溝通與交流。

SQL數(shù)據(jù)庫數(shù)據(jù)字典怎么生成的?

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的 *** ,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的 *** 。

數(shù)據(jù)庫數(shù)據(jù)字典是一組表和視圖結(jié)構(gòu)。它們存放在SYSTEM表空間中。

數(shù)據(jù)庫數(shù)據(jù)字典不僅是每個數(shù)據(jù)庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問數(shù)據(jù)庫數(shù)據(jù)字典。

生成數(shù)據(jù)庫參考代碼如下:

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author:

-- Create date: 2014-09-19

-- Description:

-- =============================================

CREATE PROCEDURE [dbo].[CreateDatabaseDictionarie]

AS

BEGIN

DECLARE @TableName nvarchar(35),@htmls varchar(8000)

DECLARE @字段名稱 VARCHAR(200)

DECLARE @類型 VARCHAR(200)

DECLARE @長度 VARCHAR(200)

DECLARE @數(shù)值精度 VARCHAR(200)

DECLARE @小數(shù)位數(shù) VARCHAR(200)

DECLARE @默認(rèn)值 VARCHAR(200)

DECLARE @允許為空 VARCHAR(200)

DECLARE @外鍵 VARCHAR(200)

DECLARE @主鍵 VARCHAR(200)

DECLARE @描述 VARCHAR(200)

SET NOCOUNT ON;

DECLARE Tbls CURSOR

FOR

Select distinct Table_name

FROM INFORMATION_SCHEMA.COLUMNS

order by Table_name

OPEN Tbls

PRINT ''

PRINT ''

PRINT ' '

PRINT ' ......

數(shù)據(jù)字典的組成

數(shù)據(jù)字典的組成:1、數(shù)據(jù)項2、數(shù)據(jù)結(jié)構(gòu)3、數(shù)據(jù)流4、數(shù)據(jù)存儲5、處理過程數(shù)據(jù)字典數(shù)據(jù)字典是數(shù)據(jù)庫的重要組成部分。它存放有數(shù)據(jù)庫所用的有關(guān)信息,對用戶來說是一組只讀的表。數(shù)據(jù)字典內(nèi)容包括:1、數(shù)據(jù)庫中所有模式對象的信息,如表、視圖、簇、及索引等。2、分配多少空間,當(dāng)前使用了多少空間等。3、列的缺省值。4、約束信息的完整性。5、用戶的名字。6、用戶及角色被授予的權(quán)限。7、用戶訪問或使用的審計信息。8、其它產(chǎn)生的數(shù)據(jù)庫信息。數(shù)據(jù)庫數(shù)據(jù)字典是一組表和視圖結(jié)構(gòu)。它們存放在SYSTEM表空間中。數(shù)據(jù)庫數(shù)據(jù)字典不僅是每個數(shù)據(jù)庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問數(shù)據(jù)庫數(shù)據(jù)字典。關(guān)于數(shù)據(jù)的信息 *** ,是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序元數(shù)據(jù)的目錄,是對數(shù)據(jù)庫內(nèi)表信息的物理與邏輯的說明

數(shù)據(jù)字典與數(shù)據(jù)庫設(shè)計之間有什么關(guān)系?

正文

1 引言

1.1編寫目的

說明編寫這份數(shù)據(jù)庫設(shè)計說明書的目的,指出預(yù)期的讀者。

1.2背景

說明:

a.說明待開發(fā)的數(shù)據(jù)庫的名稱和使用此數(shù)據(jù)庫的軟件系統(tǒng)的名稱;

b.列出該軟件系統(tǒng)開發(fā)項目的任務(wù)提出者、用戶以及將安裝該軟件和這個數(shù)據(jù)庫的計算站(中心)。

1.3定義

列出本文件中用到的專門術(shù)語的定義、外文首字母組詞的原詞組。

1.4參考資料

列出有關(guān)的參考資料:

a.本項目的經(jīng)核準(zhǔn)的計劃任務(wù)書或合同、上級機關(guān)批文;

b.屬于本項目的其他已發(fā)表的文件;

c.本文件中各處引用到的文件資料,包括所要用到的軟件開發(fā)標(biāo)準(zhǔn)。

列出這些文件的標(biāo)題、文件編號、發(fā)表日期和出版單位,說明能夠取得這些文件的來源。

2 外部設(shè)計

2.1標(biāo)識符和狀態(tài)

聯(lián)系用途,詳細(xì)說明用于唯一地標(biāo)識該數(shù)據(jù)庫的代碼、名稱或標(biāo)識符,附加的描述性信息亦要給出。如果該數(shù)據(jù)庫屬于尚在實驗中、尚在測試中或是暫時使用的,則要說明這一特點及其有效時間范圍。

2.2使用它的程序

列出將要使用或訪問此數(shù)據(jù)庫的所有應(yīng)用程序,對于這些應(yīng)用程序的每一個,給出它的名稱和版本號。

2.3約定

陳述一個程序員或一個系統(tǒng)分析員為了能使用此數(shù)據(jù)庫而需要了解的建立標(biāo)號、標(biāo)識的約定,例如 用于標(biāo)識數(shù)據(jù)庫的不同版本的約定和用于標(biāo)識庫內(nèi)各個文卷、、記錄、數(shù)據(jù)項的命名約定等。

2.4專門指導(dǎo)

向準(zhǔn)備從事此數(shù)據(jù)庫的生成、從事此數(shù)據(jù)庫的測試、維護人員提供專門的指導(dǎo),例如將被送入數(shù)據(jù) 庫的數(shù)據(jù)的格式和標(biāo)準(zhǔn)、送入數(shù)據(jù)庫的操作規(guī)程和步驟,用于產(chǎn)生、修改、更新或使用這些數(shù)據(jù)文卷的操 作指導(dǎo)。 如果這些指導(dǎo)的內(nèi)容篇幅很長,列出可參閱的文件資料的名稱和章條。

2.5支持軟件

簡單介紹同此數(shù)據(jù)庫直接有關(guān)的支持軟件,如數(shù)據(jù)庫管理系統(tǒng)、存儲定位程序和用于裝入、生成、修 改、更新數(shù)據(jù)庫的程序等。說明這些軟件的名稱、版本號和主要功能特性,如所用數(shù)據(jù)模型的類型、允許 的數(shù)據(jù)容量等。列出這些支持軟件的技術(shù)文件的標(biāo)題、編號及來源。

3 結(jié)構(gòu)設(shè)計

3.1概念結(jié)構(gòu)設(shè)計

說明本數(shù)據(jù)庫將反映的現(xiàn)實世界中的實體、屬性和它們之間的關(guān)系等的原始數(shù)據(jù)形式,包括各數(shù)據(jù)項、記錄、系、文卷的標(biāo)識符、定義、類型、度量單位和值域,建立本數(shù)據(jù)庫的每一幅用戶視圖。

3.2邏輯結(jié)構(gòu)設(shè)計

說明把上述原始數(shù)據(jù)進(jìn)行分解、合并后重新組織起來的數(shù)據(jù)庫全局邏輯結(jié)構(gòu),包括所確定的關(guān)鍵字和屬性、重新確定的記錄結(jié)構(gòu)和文卷結(jié)構(gòu)、所建立的各個文卷之間的相互關(guān)系,形成本數(shù)據(jù)庫的數(shù)據(jù)庫管理員視圖。

3.3物理結(jié)構(gòu)設(shè)計

建立系統(tǒng)程序員視圖,包括:

a.?dāng)?shù)據(jù)在內(nèi)存中的安排,包括對索引區(qū)、緩沖區(qū)的設(shè)計;

b.所使用的外存設(shè)備及外存空間的組織,包括索引區(qū)、數(shù)據(jù)塊的組織與劃分;

c.訪問數(shù)據(jù)的方式方法。

4 運用設(shè)計

4.1數(shù)據(jù)字典設(shè)計

對數(shù)據(jù)庫設(shè)計中涉及到的各種項目,如數(shù)據(jù)項、記錄、系、文卷、模式、子模式等一般要建立起數(shù)據(jù)字典,以說明它們的標(biāo)識符、同義名及有關(guān)信息。在本節(jié)中要說明對此數(shù)據(jù)字典設(shè)計的基本考慮。

4.2安全保密設(shè)計

說明在數(shù)據(jù)庫的設(shè)計中,將如何通過區(qū)分不同的訪問者、不同的訪問類型和不同的數(shù)據(jù)對象,進(jìn)行分別對待而獲得的數(shù)據(jù)庫安全保密的設(shè)計考慮。...

mysql數(shù)據(jù)庫數(shù)據(jù)字典表怎么寫

你導(dǎo)出 rmation_schema 數(shù)據(jù)庫里的所有表就OK了 新特性啊,以前只有ORACLE才有的

數(shù)據(jù)字典包括哪些內(nèi)容

你好!

我用的是考研參考書,上面的答案是:

數(shù)據(jù)字典是數(shù)據(jù)庫中描述信息和控制信息的 *** ,他是數(shù)據(jù)庫設(shè)計和管理的有力工具。數(shù)據(jù)字典包含(1.數(shù)據(jù)項,2數(shù)據(jù)流,3.數(shù)據(jù)結(jié)構(gòu).4.數(shù)據(jù)存儲.5.處理過程)五個部分。同時也是詳細(xì)數(shù)據(jù)收集和數(shù)據(jù)分析的結(jié)果。

SQL怎么創(chuàng)建數(shù)據(jù)字典表,最好舉個例子!

我的理解數(shù)據(jù)字典表就是普通的表,例如性別的數(shù)據(jù)字典表

而這個字典表即可以包含, xmdm(代碼),xmmc(名稱),xm *** (說明) 三列,可根據(jù)使用情況增加或減少列,里面的數(shù)據(jù),即包含了 男,女,未知,三個選擇 這男,女等就是字典

是可以列舉完全的。

數(shù)據(jù)庫中的字典是什么意思?

數(shù)據(jù)字典即為數(shù)據(jù)庫說明。包含完整的表結(jié)構(gòu)介紹。

數(shù)據(jù)字典是特殊的數(shù)據(jù)庫數(shù)據(jù)庫類型是按什么

數(shù)據(jù)庫設(shè)計方法、規(guī)范與技巧

一、數(shù)據(jù)庫設(shè)計過程

數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲數(shù)據(jù),滿足用戶信息要求和處理要求。

數(shù)據(jù)庫設(shè)計中需求分析階段綜合各個用戶的應(yīng)用需求(現(xiàn)實世界的需求),在概念設(shè)計階段形成獨立于機器特點、獨立于各個DBMS產(chǎn)品的概念模式(信息世界模型),用E-R圖來描述。在邏輯設(shè)計階段將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式。然后根據(jù)用戶處理的要求,安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(VIEW)形成數(shù)據(jù)的外模式。在物理設(shè)計階段根據(jù)DBMS特點和處理的需要,進(jìn)行物理存儲安排,設(shè)計索引,形成數(shù)據(jù)庫內(nèi)模式。

1. 需求分析階段

需求收集和分析,結(jié)果得到數(shù)據(jù)字典描述的數(shù)據(jù)需求(和數(shù)據(jù)流圖描述的處理需求)。

需求分析的重點是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。

需求分析的方法:調(diào)查組織機構(gòu)情況、調(diào)查各部門的業(yè)務(wù)活動情況、協(xié)助用戶明確對新系統(tǒng)的各種要求、確定新系統(tǒng)的邊界。

常用的調(diào)查方法有: 跟班作業(yè)、開調(diào)查會、請專人介紹、詢問、設(shè)計調(diào)查表請用戶填寫、查閱記錄。

分析和表達(dá)用戶需求的方法主要包括自頂向下和自底向上兩類方法。自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)從最上層的系統(tǒng)組織機構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并把每一層用數(shù)據(jù)流圖和數(shù)據(jù)字典描述。

數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系。系統(tǒng)中的數(shù)據(jù)則借助數(shù)據(jù)字典(Data Dictionary,簡稱DD)來描述。

數(shù)據(jù)字典是各類數(shù)據(jù)描述的 *** ,它是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分(至少應(yīng)該包含每個字段的數(shù)據(jù)類型和在每個表內(nèi)的主外鍵)。

數(shù)據(jù)項描述={數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名,數(shù)據(jù)類型,長度,

取值范圍,取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系}

數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:{數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)}}

數(shù)據(jù)流描述={數(shù)據(jù)流名,說明,數(shù)據(jù)流來源,數(shù)據(jù)流去向,

組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量}

數(shù)據(jù)存儲描述={數(shù)據(jù)存儲名,說明,編號,流入的數(shù)據(jù)流,流出的數(shù)據(jù)流,

組成:{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取方式}

處理過程描述={處理過程名,說明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流},

處理:{簡要說明}}

2. 概念結(jié)構(gòu)設(shè)計階段

通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,可以用E-R圖表示。

概念模型用于信息世界的建模。概念模型不依賴于某一個DBMS支持的數(shù)據(jù)模型。概念模型可以轉(zhuǎn)換為計算機上某一DBMS支持的特定數(shù)據(jù)模型。

概念模型特點:

(1) 具有較強的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識。

(2) 應(yīng)該簡單、清晰、易于用戶理解,是用戶與數(shù)據(jù)庫設(shè)計人員之間進(jìn)行交流的語言。

概念模型設(shè)計的一種常用方法為IDEF1X方法,它就是把實體-聯(lián)系方法應(yīng)用到語義數(shù)據(jù)模型中的一種語義模型化技術(shù),用于建立系統(tǒng)信息模型。

使用IDEF1X方法創(chuàng)建E-R模型的步驟如下所示:

2.1 第零步——初始化工程

這個階段的任務(wù)是從目的描述和范圍描述開始,確定建模目標(biāo),開發(fā)建模計劃,組織建模......

php語言字典代碼

求一PHP算法,字典生成。時間一到再加100分。如:字符:0-9,長度:1,

那就生成0,1,2,3,4,5,6,7,8,9

長度:2,就會生成00-99

現(xiàn)在要求字符可以包括a-z,或者其他特殊符號,求一高效的生成算法。

參考答案一

function get_string($strlen){

$source='0123456789'; //任意字符

$len = strlen($source); //長度

$return = array();

for($i = 0 ;$i $len;$i++){

for($j = 0;$j $strlen;$j++){

$return[$i] .= $i;

}

}

return implode(',', $return);

}

如果輸入長度2: 輸出結(jié)果就是:

00,11,22,33,44,55,66,77,88,99

參考答案二

優(yōu)化了進(jìn)位算法:

PHP code =0;$no--){ $word=$source{$series[$no]}.$word; $series[$no]+=$tonext_value; if($no0){ if($series[$no]==$len){ $series[$no]=0; $tonext_value=1; }else{ $tonext_value=0; } } } echo "$word "; } } gene_dic(2); ?

簡單的說,我會把這個理解為0-9(十進(jìn)制)下十個數(shù)字生成兩位數(shù)字、可重復(fù)的排列問題。

排列算法我自己建立過的就是簡單的N進(jìn)制下的+1算法,保證可以遍歷。

即:

初始化到0,

1. +1

2. 是否超過要生成的位數(shù)?否,則回到1;

3. 輸出

參考答案三

PHP code =0;$no--){//循環(huán)遍歷數(shù)組每次從源字串中取一個字符,為便于進(jìn)位運算,取字符是從后往前取 $word=$source{$series[$no]}.$word;//先取出一個字符 //取出一個字符后就要判斷當(dāng)前數(shù)組元素如何如果改變值,為下一次“大循環(huán)”做準(zhǔn)備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環(huán)都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進(jìn)位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進(jìn)位 } }elseif($no$n-1){//中間位的進(jìn)位判斷 $series[$no]+=$tonext_value;//先取得上一位的進(jìn)位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續(xù)進(jìn)位 }else{ $tonext_value=0;//不歸零就不進(jìn)位 } }else{ $series[$no]+=$tonext_value;//大循環(huán)次數(shù)決定了“老大”是只進(jìn)不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結(jié)果OK。

參考答案四

PHP code =0;$no--){//循環(huán)遍歷數(shù)組每次從源字串中取一個字符,為便于進(jìn)位運算,取字符是從后往前取 $word=$source{$series[$no]}.$word;//先取出一個字符 //取出一個字符后就要判斷當(dāng)前數(shù)組元素如何如果改變值,為下一次“大循環(huán)”做準(zhǔn)備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環(huán)都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進(jìn)位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進(jìn)位 } }elseif($no$n-1){//中間位的進(jìn)位判斷 $series[$no]+=$tonext_value;//先取得上一位的進(jìn)位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續(xù)進(jìn)位 }else{ $tonext_value=0;//不歸零就不進(jìn)位 } }else{ $series[$no]+=$tonext_value;//大循環(huán)次數(shù)決定了“老大”是只進(jìn)不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結(jié)果OK。

參考答案五

應(yīng)該是:

function get_string($strlen){

$source='0123456789';

$len = strlen($source);

$return = array();

for($i = 0 ;$i $len;$i++){

for($j = 1;$j = $strlen;$j++){

$return[$i] .= substr($source,$i,1);

}

}

return implode(',', $return);

}

【拓展閱讀】如何開始一門語言的學(xué)習(xí)

一門語言從發(fā)明到演進(jìn)必有原因。

現(xiàn)在還有很多人推薦學(xué)習(xí)不同的語言。通過比較,了解它的發(fā)展史,

創(chuàng)始人的初心等因素都需要留意。多個思考,這個語言在5年,在10年后還是否保持活力?

當(dāng)有幾個類似的語言被選擇時,我們不妨對它們做一個Swat分析。

列出這些語言的共同點,還有它們之間的規(guī)則差異。

了解語言的發(fā)展史

開發(fā)語言從匯編開始,如最早的計算機ENIAC,使用的就是它來編程。

再到Fortarin,再到C語言,Cobol,Basic。每一個語言都與當(dāng)時發(fā)展的階段有點密切關(guān)聯(lián)。

人類的每個發(fā)明都與懶惰有關(guān),語言也是為便捷性而生。有的語言

C是除匯編外最重視效率的語言,擴展的C++也繼承了此特性。Perl是做文本處理效率最佳的語言,雖然它的發(fā)展有點慢。PHP做Web開發(fā),是“世界上最好的.語言”,Python的閱讀性和大數(shù)據(jù)處理都做得樣樣俱佳。

當(dāng)了解語言的歷史沿革后,會讓我們對其創(chuàng)始人有很強烈的興趣,成為忠實的腦殘粉,學(xué)習(xí)該語言的興趣會更濃烈。

人們常常說某個語言比哪個好,這其實沒有必要。不必要為其它人的語言所惑,需要你自己做出選擇。

語言的共通點

這個星球的人都是一個鼻子兩雙只水汪汪的大眼睛,與人們的模樣一般,編程語言也有一個大致相同的長相。

語法:這是開發(fā)此語言定義的規(guī)則“套路”:

運算符順序,變量常量定義/作用域,表達(dá)式定義,字符串定義,行尾結(jié)束符等。

流程控制:循環(huán)控制

這些語法都是成對的,如if,for,while,foreach,有的語言還提供goto這樣類似匯編語言的語法。

函數(shù)與方法

一些能夠復(fù)用的高質(zhì)量代碼組合。函數(shù)執(zhí)行后有返回,有遞歸,有嵌套,還有干完活就完事的簡單任務(wù)。有靜態(tài)函數(shù)和動態(tài)函數(shù)區(qū)分。

容器

數(shù)組,哈希表(也叫散列),字典等用來保存數(shù)據(jù)的容器。

錯誤/例外處理

現(xiàn)代編程語言基本都支持出錯的拋出,除了C語言之外。

比如硬盤不足,網(wǎng)絡(luò)出錯,黑客攻擊等情形。就像購物中心里出現(xiàn)煤氣泄露時,監(jiān)測設(shè)備,物聯(lián)網(wǎng)設(shè)備能夠及時記錄與傳遞給指揮中心。

沒有錯誤拋出的語言,需要自己考慮盡可能出錯的場景并處理,比如:

if(is_overfllow)

//處理

if(network_error)

//處理

可以還有不少需要關(guān)注的維度,這會讓代碼變得艱澀難懂,也難以維護。

我們可以用這樣的方式,讓其更簡潔:

on error goto ERROR

ERROR:

..//

但這總是會需要我們照顧很多情形。于是C++推出了一個語法:

try{

//可能會出錯的代碼

//可能會出錯的代碼

}catch{

//處理出錯的邏輯

//處理出錯的邏輯

}finally{

//出不出錯都要執(zhí)行的代碼

}

最后一句是微軟公司給業(yè)界提供貢獻(xiàn)的finally代碼塊。

以上這些成為語言處理異常機制的基礎(chǔ)。

容器

容器是很重要的一節(jié),所以我們單獨再提出來。很多邏輯處理,使用容器保存數(shù)據(jù),該語言會提供便捷的方法來提供存取。

比如C、Perl、PHP、Ruby中均提供的數(shù)組和關(guān)聯(lián)數(shù)組,LISP提供的列表,Java、Python提供的元組、鏈表等。

雖然名字相同,但是實現(xiàn)方式卻是完全不同,使用方法當(dāng)然也不一樣。

沒有萬能的容器,只有最合適的??梢詮墓?jié)省內(nèi)存,節(jié)約時間還是編碼效率等綜合考慮。

字符串與字符編碼

是否支持unicode編碼。從摩斯碼到ASCII到統(tǒng)一的Unicode編碼支持。

并發(fā)處理

有的語言在設(shè)計時并無此方面的考慮,或者天生設(shè)計存在缺陷。

即多線程,多進(jìn)程的概念。包括共享,鎖,事備等特性。

面向?qū)ο?/p>

支持類,繼承,模塊,包,命名空間,閉包等。有這些特性才會讓人們的工作變得更便利、更有效率。

小結(jié)

學(xué)習(xí)一門語言的關(guān)鍵,需要我們在平靜地心緒下,帶著濃厚的興趣去學(xué)習(xí),在比較中學(xué)習(xí),在歷史中學(xué)習(xí)。

有時候感覺還是不夠通暢,先做知識的搬運工也是不錯。另外,不斷的實踐會讓我們的信心更足。

當(dāng)前題目:php怎么生成數(shù)據(jù)庫字典 php怎么寫數(shù)據(jù)庫
網(wǎng)站鏈接:http://muchs.cn/article46/ddigseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、外貿(mào)建站網(wǎng)站內(nèi)鏈、ChatGPT、關(guān)鍵詞優(yōu)化、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管