define常量的值;仅允许标量和 null。标量的类型是 integer, float,string 或者 boolean。所以数组是不允许的,像你这些自定义的变量数组一般都放在文件里,如果不放在文件里也有一种办法就是通过serialize()或者json_encode()将其转换成字符串,然后将其当作常量值,使用的时候取出来再反序列化(或者json_decode())一下:
超过十余年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都网站设计、成都网站建设,成都网站推广,成都网站优化,整体网络托管,成都微信小程序,微信开发,App定制开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!
[php] view plain copy
$config = array('localhost', '127.0.0.1', 'user', 'pwd');
$config = serialize($config); //或者是 json_encode($config);
define('DB_CONFIG', $config);
[php] view plain copy
class Constants {
public static $array = array('localhost', '127.0.0.1', 'user', 'pwd');
...
...
}span class="pln"
t_r/spanspan class="pun"(/spanspan class="typ"Constants/spanspan class="pun"::/spanspan class="pln"$array/spanspan class="pun");/span
一般说道静态属性是指类的静态成员属性,用static修饰,虽然名义上是静态的,但是在类中仍然是可以通过成员方法更改它的值。类中的成员方法通过self::访问静态属性而不是通过$this-
静态常量,一般用const修饰,定义的可以不用写$符号,且类中方法不可更改它的值,const关键字在比较低的php版本(小于等于php5.2)上不能使用。
不可以。
常量只能包含标量数据(boolean,integer,float 和 string)。可以定义 resource 常量,但应尽量避免,因为会造成不可预料的结果。
更详细的说明,请参考php手册的常量部分内容网页链接
一、PHP安装设置
PHP可以在多种操作系统下运行,现在的操作系统主要分为两类,一是Windows系列,一是UNIX系列。
在这两个系列的操作系统中安装设置PHP的运行环境是有很大的区别的,下面分别加以描述。
(一)类UNIX操作系统下安装设置
1.安装
首先到去下载PHP的安装文件和 下载Apache WEB服务器。一般把下载文件放入/usr/目录下。
接下来开始安装设置,读者如不明白这些参数的意义,请不要随意改变。
先安装Apache和PHP。
tar -vzxf apache_1.3.x --x代表版本号如12或13等
tar -vzxf php-4.0.x或tar -vzxf php-3.0.x
cd apache_1.3.x
./configure --prefix=/www --/www代表安装目录在根目录www下
cd ../php-4.0.x或cd ../php-3.0.x
./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
make
make install
cd ../apache_1.3.x
PHP3:./configure --activate-module=src/modules/php3/libphp3.a
PHP4:./configure --activate-module=src/modules/php4/libphp4.a
make
make install
第一、二行命令利用tar将下载的压缩文件档解压还原在同名目录下,然后在 Apache 的解压目录下进行环境设定,--prefix 选项代表 Apache 的安装目录路径。然后进入 PHP 的解压目录中,进行PHP的环境设定,如果没有使用 MySQL 数据库,就可省略 --with-mysql 的选项,但一定要加入 --with-apache 选项,而且 Apache解压目录名一定要正确。设定完 PHP 之后就编译、安装到 Apache 的指定目录中。然后在 Apache 解压目录中再完成 PHP 的模式库安装后,再编译和安装 Apache 后就初步完成了安装工作。接着就是要设定 Apache 才能让 Web Server 顺利运作。
2.设置
首先设置php.ini文件,
cd ../php-4.0.x或cd ../php-3.0.x
PHP3:cp php3.ini-dist /usr/local/lib/php3.ini
PHP4:cp php.ini-dist /usr/local/lib/php.ini
读者可以编辑ini文件以符合自己要求,当然如果不清楚设置的话,则使用缺省设置,读者也可以指定另一个目录,但需要在第六步设定条件--with-config-file-path=/path接着设定Apache服务器,需要在Apache的设定文件httpd .conf或srm.conf中加入下面的字串。
PHP 3: AddType application/x-httpd-php3 .php3
PHP 4: AddType application/x-httpd-php .php
(二) Windows下的安装
下载PHP的安装程序,准备安装,因为Windows系列的安装区别不大,本文以Windows 98下的安装为例。在安装前你应该已经安装好了PWS 4.0。
1.安装
释放压缩文件到指定的目录如C:\PHP\,然后复制php.ini-dist或php.ini-optimized到c:\windows目录中(Windows NT和Windows 2000中应为c:\winnt),并且重命名为php.ini 。
编辑你的php.ini文件,你可以改变extension_dir的设置为你的php的安装路径,如上面所说的“c:\php”,选择你要加装的php的扩展模块,在ini文件里的extension=后面加入php_*.dll行,你也可以在脚本(script)里动态加载。PHP也提供了一些可以提供其它功能的附加模块,可以从相关网站下载。
2.设置
以上步骤完成以后,需要注意检查是否安装了DCOM98,如果没有,还要安装DCOM98,这可以在完整版的VB6中找到。还需要设置注册表,一般在下载的PHP压缩包里含有名为PWS-php4.reg的注册表文件。需要先用记事本修改这个文件,把其中的“[PUT PATH HERE]”替换为PHP的解压目录,需要注意目录分隔要用双斜线“\\”。存盘后在右键菜单中把它合并到注册表中就行了。
3.PHP附加库(扩展模块)
为了扩展PHP的功能,PHP提供了许多附加库,这些附加库都是以DLL文件的形式提供的,在使用前需要修改php.ini文件,用Extention设置所需的附加库。下表是常用的附加库,更多的附加库可以到网上下载。
Php_calendar.dll 日历转换
php_crypt.dll 加密模块
php_dbase.dll Dbase的函数模块
php_imap4r2.dll IMAP 4 函数
php_ldap.dll LDAP函数
php_msql1.dll mSQL 1客户
php_msql2.dll mSQL 2客户
php_mssql.dll MSSQL 客户
php3_mysql.dll(PHP 4内建) MySQL 的函数模块
php_nsmail.dll Netscape邮件函数
php_oci73.dll Oracle函数模块
php_zlib.dll ZLib函数模块
二、PHP语言入门
(一)语法基础
1.如何在页面嵌入PHP代码
PHP可以嵌入到HTML的代码中间,也就是说可以把HTML和PHP代码混合在一起使用,这样写起代码会很惬意的。当然要有能区分PHP代码和HTML的方法,可以使用以下4种方法:
(1) echo (“这是最常用的方式”);
(2)php
echo(“如果你想服务于XML文档就是用这种方式”);
(3)
(4)
上面第(1)种第(4)种方式在Windows 98下需要单独设置才能使用。
2.程序的注释和如何结束语句
在PHP程序里,注释有如下三种注释方式:
(1)/* 第一行
第二行
多行注释 */
(2)// 单行注释
(3)# 单行注释
上面这三种注释可以混合使用,读者可以根据习惯选用,需要注意的是多行注释不能嵌套多行注释。
PHP语句之间使用“;” 分隔,它也是语句结束符。
(二)常量和变量
首先看下面一个实例
范例:test2_1.php
php
//常量的演示
echo “_FILE_”; //输出:test2_1.php
echo “这是一个常量”; //输出:这是一个常量
define(“THECONSTANT”,“这是一个自定义的常量”);
echo THECONSTANT; //输出:这是一个自定义的常量
//变量的演示
$StrOutput=“这是一个变量”;
echo $StrOutput; //输出:这是一个变量
echo “变量是这样诞生的:$StrOutput”; //输出:变量是这样诞生的:这是一个变量
echo “问题是这样出现的:$StrOutPut”; //输出:问题是这样出现的:
可以从以上的范例看出,在编写PHP文件的时候,可以省略HTML标头。
1.常量
2.变量
PHP的变量是非常有意思。
(1)变量的作用范围
范例test2_2.php
php
$strtest="你说";
function output1()
{
echo $strtest;
}
function output2()
{
global $strtest;
echo $strtest;
}
output1(); //输出:
output2(); //输出:你说
(2)变量的变量
范例:test2_3.php
$name=″hello″;
$$name=″world″; //等同于$hello=″world″;
echo ″$name $hello″; //输出:hello world
echo ″$name $$name″; //同样输出:hello world
for($i=1;$i=5;$I++)
{
${var."$i"}=$i;
}
echo $var3; //输出:3
(3)变量的类型
范例test2_4.php:
php
$strtype="字符串";
/*添加字符串*/
$strtype=$strtype."再增加一些字符串 ";
/* 另一种增加字符串方式,并换行*/
$str .= "\n第二行的字符串";
/* 得到第一个字符*/
$strtype='This is a test.';
$first = $str[0]; //输出:T
/*得到最后一个字符*/
$strtype='This is still a test.';
$last=$str[strlen($str)-1]; //输出:.
//整数类型例子
$strtwo="2.5test";
$inttype=1;
echo ($inttype+$strtwo) //输出:3.5
echo ("$inttype".$strtwo) //输出:12.5test
//浮点数
$float1 = 1.732;
$float2 = 1.4E+2;
这样大家可以看出$strtype实际上是一个字符串型的变量,PHP支持五种变量类型:String、Integer、Floating-point numbers (Double)、Array、Object。
String是字符串类型。字符串变量是最常用的类型,两个字符串连接符则是".",从上面的例子可以看出,PHP支持以“\”后面的有特殊意义的字符,如“\n”代表回车。
integer 为整数类型。在 32 位的操作系统中,它的有效范围是 -2,147,483,648 到 +2,147,483,647。要使用 16 进制数可以在前面加 0x。
double 为浮点数类型。在 32 位的操作系统中,它的有效范围是 1.7E-308 到 1.7E+308。对象和数组这两种类型比较复杂,请看函数和类。
我们也可以使用settype(变量,数据类型)函数强制转换数据类型,使用gettype(变量)获得变量类型。也允许这样强制转换$inttype = (int) $strtype;。
(三)运算符
1.算术运算符
算术运算 (arithmetic operators) 符号,是用来处理四则运算的符号,这是最简单,也最常用的符号,几乎所有语言的算术运算符都差不多,如^00100010a^。
2.逻辑运算符
逻辑运算通常用来获得逻辑值的真假,在所有的编程语言里,逻辑运算符是非常重要的,逻辑运算符如^00100010b^所示。
3.关系运算符
关系运算就是比较大小用的,如^00100010c^所示。
4.位运算符
PHP有下面一些二进制位运算符如^00100010d^。
5.运算符的优先级
不同的运算符在同一行程序里有不同的运算顺序,PHP程序里的运算顺序如^00100010e^,越往下表明运算符的优先级别越高,同时应注意结合规则。
(四)流程控制语句
1.if条件语句
它在定义上有三种形式:
(1)第一种最简单的形式。
if (expression) statement;
(2)第二种带有else(否则)的形式。
if (expression) {
statement1;
} else {
statement2;
}
(3)第三种带有elseif的形式。
if (expression) {
statement1;
} elseif {
statement2;
} else{
statement3;
}
if条件语句是允许嵌套的,也就是在if语句中含有另外的if语句,但要注意嵌套层次,否则不能得到想要的结果。
2.循环语句
循环一般可以分为以下几种。
(1)while循环,也叫“当型循环”,就是说“当条件为真就执行循环体”,在PHP中的定义如下:
while (expression)
{statement}
这种循环先判断表达式为真再执行,可能一次也不执行。
(2)do while循环叫做“直到型循环”,它最少执行一次,意思就是“先执行循环体直到条件为真才退出”,PHP的定义为
do {
statement
} while (expr);
上面两种循环都是不知道循环的次数,或者在条件比较模糊的情况下使用。
(3)for循环,在PHP4中有两种for循环,一是for,另一是foreach循环。他们主要的区别在于:
for循环用于循环次数已知的循环;
foreach则是针对数组和散列的循环;
for循环的PHP定义如下:
for (expr1; expr2; expr3) {
statement
}
下面是一个简单的例子:
php
for ($i = 1; $i = 10; $i++) {
echo $i;
}
PHP有数组和散列,后面介绍它们的概念,数组元素个数没有固定,如果要访问每一个元素,用foreach可以从第一个元素访问到最后一个元素,这样我们可以不必求出元素的个数,就能遍历整个数组,在PHP中foreach循环的定义如下:
foreach(array_expression as $value) statement //普通数组
foreach(array_expression as $key = $value) statement //散列
请做一下下面的例子:
?php
// foreach例一
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of \$a: $v.\n";
}
// foreach例二
$a = array (1, 2, 3, 17);
$i = 0;
foreach($a as $v) {
echo "\$a[$i] = $k.\n";
}
// foreach例三
$a = array (
"one" = 1,
"two" = 2,
"three" = 3,
"seventeen" = 17
);
foreach($a as $k = $v) {
echo "\$a[$k] = $v.\n";
}
3.SWITCH多条件语句
switch (expression) {
case condition1:
statement1;
break;
case condition2:
statement2;
break;
......
default:
statement n;
break;
}
这时要介绍两个特殊的流程控制语句:break和continue。
php
For($I=1;$I=10;$I++)
{
if ($I==1) continue;
echo "测试:".$I;
if ($I==2) break;
}
上面的程序输出则是:测试:2,而且永远也执行不到$I=3。
4.引用文件
在我们编程的过程中,肯定会遇到很多的地方需要许多相同的模块或者函数,当然我们也可以使用复制和粘贴的方法把程序块放入到程序里,而一旦我们要修改这些语句中的一处,则必须修改所有粘贴的代码,这当然很累,所幸PHP提供了引用文件的方法,他们就是require,require-once,include,include-once。require方法会程序在执行前先读入 require 所指定引用的文件,使它变成 PHP 程序网页的一部份。而PHP的include方法则是PHP 的网页在遇到 include 所指定的文件时,才将它读进来。这种方式,更符合人们的习惯。
(五)数组
假如变量是可以放入一本书的盒子的话,那么数组就是可以放许多书的书架,在PHP中不止可以放书,还可以放别的物品。
1.普通数组
我们在C、VB等语言里使用的数组,都是以数字作为下标来索引数组的值,在PHP中是这样表示的:$a[1]=1,$a[2]=2...$a[n],虽然PHP的普通数组比C语言在数据类型方面前进了一大步(C语言里可以使用结构代替),而真正比C语言优越的是引入了哈希表(hash table联合数组)。
2.哈希表(联合数组)
。请看下例
范例:
php
$a[1]= $f; //普通数组
$a["apple"]= "sweet"; //联合数组
$a[1][0]= $f; //二维数组
$a["apple"][2]="tart"; //普通数组和联合数组连用
$a["apple"][4]["color "][0]= "bad"; //四维数组
(六)函数
函数就是能执行特定功能的语句块。在这些年编程语言发展的趋势就是代码的重用性和结构清晰,象C的输入输出等就是用函数来完成的,在PHP里也是这样的,函数在PHP运用非常广泛,也是各种PHP函数使PHP变为强大的WEB编程脚本语言的原因之一,我们在前面的学习的过程中也遇到了不少,如“echo”、“require”等,而我们可以通过用户定义的函数使程序结构变得更清晰、更合理以及代码更简洁。
1.用户定义函数
,PHP的函数定义如下
function 函数名(参数1,参数2,...)
{ 语句块
return 返回值}
PHP的函数可以有返回值,也可以没有返回值,这样可以省略上面的返回语句。
2.参数
php
$str=″我是参数1″;
$str2=″我是参数2″;
function testFunc($testarg1,testarg2,testarg3=″我是测试″)
{
echo $testarg1.″\n″;
echo $testarg2.″\n″;
echo $testarg3.″\n″;
$testarg1=$testarg1.″测试″;
$testarg2=$testarg2.″测试″;
}
testfunc($str,&$str2);
echo $str.″\n″;
echo $str2.″\n″;
/*
调用里后输出:
我是参数1
我是参数2
我是测试
我是参数1
我是参数2测试
*/
请注意看上面的函数,PHP的参数使用比较灵活,我们可以象C里面一样使用“&”引用参数,在函数里改变参数的值的话,就直接改变了这个变量的值,也可定义参数的缺省值,这样可以在需要的时候省略参数。
一、InstallShiteld 5.1的安装与卸载
1.安装的系统要求如^00100011a^
2.安装操作步骤如^00100011b^
3.卸载InstallShiteld 5.1
安装完成后,安装程序除了将主要程序文件复制到指定的目标文件夹外,还将部分DLL文件复制到Windows的系统目录中,并自动在C盘根目录下建立一个名为“My Installations”的文件夹,作为所制作的安装工程的默认存放位置。在卸载前,先将该目录下的工程进行备份,再打开Windows控制面板中的“添加/删除程序”,选择“InstallShield 5.1 Professional Edition”,单击“添加/删除”,确认后即可完成卸载。
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
对于一些基本的常量是这些常量在 PHP 的内核中定义。它包含 PHP、Zend 引擎和 SAPI 模块,如:
PHP_VERSION
PHP_OS
PHP_SAPI
PHP_EOL
对于一些是通过加载扩展库才会出现,比如:
DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)
对于上面的常量是区分大小写的。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,也就是说魔术常量是不区分大小写的。
数据类型分为:标量数据类型,复合数据类型,特殊数据类型1.标量数据类型:是数据结构中最基本单元,只能储存一个数据,包括boolean,string,integer,float1.1string类型:定义字符串与三种方式:单引号(‘)、双引号(“)、界定符()单引号和双引号是常使用定义方式,区别是双引号中包含的变量会自动被替换成实际数值,而单引号包含的变量则按普通字符串输出。?php$i="welcome to network1024";echo '$i'; //将输出$iecho "$i"; //输出welcome to network1024? 转义字符:
序列 含义\n 换行\r 回车\t 水平制表符\\ 反斜线\\$ 符号$\’ 符号’\” 符号”\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的符号\x[0-9A-Fa-f]{1-2} 此正则表达式序列匹配一个用十六进制符号表示的符号注意:\n和\r在windows系统下没区别,都可当回车符;Linux下\n表示光标回到行首,仍在本行,\r则换到下一行,却不会回到行首。?php$i=network1024 //必须另起一行welcome to network1024network1024;echo "$i"; //输出welcome to network1024?1.2integer类型:32位系统范围:-2147483648~2147483647,如果超出范围发生整数溢出,当float处理,返回float类型;表示方式:十进制:123;八进制:0123;十六进制:0x123;1.3float类型:32位系统范围:1.7E-308~1.7E+308表示方式:标准格式:3.141592654;科学计数法试:3141592654E-9注意:浮点数数值只是一个近似值,所以尽量避免浮点数间比较大小,因为最后的结果往往不准确。 2复合数据类型:包括数组array和对象object数组类型:是一个数据集合,可以包括多种数据:标量数据、数组、对象、资源、及PHP中支持的其他语法结构。数组中每个数据成为一个元素,元素包括索引(键名)和值两部分。元素索引只能有数字或字符串组成。元素值可以是多种数据类型。数组索引自动编号从0开始语法格式:$array=(“value1”,”value2”……)或$array[key]=”value”或$array(key1=value1,key2=value2……)?php$network1024=array(1="how",2=2,'are'="you");echo $network1024[2]; //输出2echo $network1024[are]; //输出you?声明数组后,数组中的元素个数可以自由更改。只要给数组赋值,数组就会自动增加长度。 3特殊类型:包括空值NULL和资源resourceresource:资源是由专门的函数来建立和使用的,它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时释放不需要的资源。如果忘记释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。NULL:表示变量没有值。NULL不区分大小写,null和NULL都是一样。为NULL的情况:被赋为null;尚未被赋值;通过函数unset()而被销毁。 4数据类型转换:(type)value类型关键字 类型转换 类型关键字 类型转换(int),(integer) 转换成整形 (array) 转换成数组(float),(double),(real) 转换成浮点型 (object) 转换成对象(bool),(boolean) 转换成浮点型 (string) 转换成浮点型注意:转换为boolean:null、0、未赋值的变量或数组会转换为false,其他为true转化为integer:boolean:false为0,true为1 float:小数部分被舍去 string:以数字开头则截取到非数字位,否则输出0 通过函数bool settpye(mixed var , string type)var为指定变量;type为要转换的类型boolean/float/integer/string/array/null/objectsettype会改变变量自身类型