PHP 基础知识

来源:互联网 发布:七日杀端口是什么意思 编辑:程序博客网 时间:2024/05/19 12:14
 
PHP 常用
获取数据类型: gettype();
检测变量类型:is_array() is_double(), is_float(), is_int(), is_integer(),is_long(),is_object(),
Is_real(), is_string();
查看变量状态:isset($variable)    查看变量是否为空 empty($variable)
 
新增点1: 变量的值成为一个变量 $$variale 变量的第一个值成为第二个的名:
 
重点:预定义常量
_FILE_ :       PHP的程序文件名
_LINE_          程序的行数
PHP_VERSION PHP_OS TRUE FALSE
E_ERROR 错误的等级 E_WARRING 警告的等级 E_PARSE 解析时错误的等级 E_NOTICE: 解释器不能解释该异常是否为错误等级.
 
逻辑运算符: xor ab值不为同一个时候为真.返回值1,否则返回0
 
其他运算符号: & 取变量地址 , 将某个变量的地址赋值给一个变量,改变另外一个变量同时会修改这个变量的值:如
$testArray = array (1,2,5,6);
$refer = &$testArray[0];
$refer = 100;
Echo $testArray[0]; ? output 100
@echo $a;隐藏该行的错误信息;
 
HTML中字符
& | &amp “ | &quot; ‘ | &#039 < | &lt > | &gt
 
HTML元素转换操作方法:
Htmlspecialchars($string,int type, string charset);
保存html格式的符号
Htmlentities($string, int type, string charset);
将html格式的符号转换成对应字符表示
总的意思就是保存当然字符,不让出现html
 
Html_entity_decord(strint str);//操作相反
 
字符串的分解
Split(正则表达式,string)
不适用正则表达式
Explode(separater, string ,limit)
 
格式化字符串
Sprintf(string format, mixed args,…………..);
%格式字符必须与后面的变量一一对应
%b 传入一个integer 输出二进制数
%c 传入一个integer,输出一个char
%d 传入一个integer,输入一个单精度数
%e 传入一个科学计数,输出一个有效数字
%u 输入一个integer 输出一个无符号整数
%f 输入一个float数,输出
%F
%o input integer output octal number
%s in or out string
%x integer to hexadecimal
 
注意如下:
1.         如果要输出%符号,请用%转义 如%%输出%号
2.         %后接数字可以表示该字符转位多少个,整数时表示从右开始计数,负数,从左开始
3.         如果转位用字符填充的话在%后加’号加字符
4.         格式输出多少个字符%10.10s,表示从左开始取10个字符
5.         用0来填充数字 %04;如果数字不足4位,用0补充
6.         输入的整形转换为科学计数%.5e表示小数点保留5位
 
获取字串
String substr(string str, int start, int length)
获取字符并替换/
String substr_replace(string str, string replacement ,int start, int length)
从字符串中查找字符
Int strpos(string str, char ch)
获取字符长度
Int strlen(string str)
Ascii 转换为字符
String chr(int ascii)
字符转换为ascii
Int ord(string string);
 
字符串比较
Int strncmp(string str1, string str2, int len)
比较指定长度的str1, str2,
 
大小写转换
String strtolower(string str)
String strtoupper(string str)
String ucfirst(string str)//将str的第一个字符转换为大写
String unwords(string str) 将str中每一个单词的第一个字母大写
正则表达式:
Bool ereg(string patter, string string, array regs)
搜索符合patter的字符
String ereg_replace(string pattern, string replacement, string sting)
搜索符合string类符合pattern的地方,必用replacement字符替换
忽略大小写的搜索
Bool eregi(string pattern , string string, array regs)
String eregi_replace(string pattern, string replacement, string string)
 
正则表达式的规则:
1.    ^str : 以str开头
2.    Str$: 以str结尾
3.    .      :可代表任意字符
4.    .{m,n} 表示m到n个任意的字符
5.    *    : 表示包含了0-n个字符的;
6.    +   : 表是包含了1-n个字符
7.    ?   : 表示包含了0-1个字符
8 []               :表示定义某个范围内的字符
9 |      :表示包含|号任意一边的字符
10 [[:space]] 空格字符
11 / : 转义字符
 
 
数组遍历:
Boolean array_walk(array array, callback function())
在数组array中按照function规则遍历
 
获取当前元素
Foreach(array_name as $value) statement
Foreach(array_name as $key=>$value) statement
 
改变数组大小:
规则:改变大小就必须给新增加的元素赋值
Array array_pad($array, $newsize, $init_value)
 
数组交集
Array array_intersect(array array1, array array2,………….);
 
数组合并
Array array_merge(array array1, array array2…………….);
 
反转:
Array array_reverse(array array , bool preseve_keys)
Preseve_keys为true,保留原来的键名
获取子数组
Array array_slice(array array_name, int offset, int length)
返回array_name,从offset开始length个
 
数组排序
bool sort ( array &array [, int sort_flags] )
排序,默认排序按照value值升序排列,可以指定排序方式,
bool rsort ( array &array [, int sort_flags] )
降序排列
bool usort ( array &array, callback cmp_function )
按照cmp_function函数排序
 
关联数组:
void unset ( mixed var [, mixed var [, ...]] )
删除数组中某一项
 
Bool isset(mixed var)
检测键是否存在
 
Bool in_array(mixed needle, array array_name)
检测该值是否存在于数组
 
 
文件系统:
Resource fopen(string filename , string mode, )
 
文件模式
r 只读形式,pointer point to page header
r+ read and write, the pointer point to page header
w write and clear the file , the pointer point to page header , if the file not exists, it will be create
w+ write and read ,it will clear the file,the pointer point to page header ,if the file not exist,it wibb be create
a write, the pointer point to the file end, if the file not exist,it will be create
a+ write and read , the pointer point to the file end, if the file not exist ,it try to create;
 
int readfile ( string filename [, bool use_include_path [, resource context]] )
读取文件大小并返回文件字节数
string fread ( int handle, int length )
从文件指针出读取length个字节数
String fgets(int handle, int length)
读取一行数据
 
Int fwrite(resource handle, string string, int length)
将string的内容写入handle处,
Bool file_exists(string filename)
判断文件是否存在
Bool is_dir(string filename)
Bool is_excuteable(string filename)
Bool is_file(string filename)
 
 
Array file(string filename);
将文件的内容赋值给一个数组,文件中每一行对应数组一个单元
 
Int copy(string source, string dest)
Bool rename(string oldname, string newname);
 
操作目录
Resource opendir(string path)
Close(resource dir_handle);
读取目录中文件名,读取到末尾返回false,常用的抓取方法while($file = readdir(opendir($path));
String readdir(resource dir_handle);
Bool chdir(string directory)
 
 
PHP 在WEB中常用元素
Action 提交
<form name=’from1’, method = ‘post’ , action = <? Echo $PHP_SELF?>></form>
将数据提交到当前页
 
获取表单元素
说明:提交数据的$_POST, $_GET存放了form表单内提交的值
$_POST[‘name’] 既是控件名字为name的属性值
 
Session 工作机制:
1.         当一个Session第一次被使用,一个唯一的标识将存储在Cookie中
2.         使用session_start(),PHP加载已经存在的session变量
3.         session_register()注册一个session
4.         PHP结束时,未销毁的变量存在cookie中
 
注册一个session变量
Session_register(var)//WARRING: THE NO $
Session_is_register(var);
 
$_SESSION[‘name’] = ‘value’;
 
删除session变量
Session_unregister(“session name”);
销毁所有sessionbianliang
Bool session_destroy(void)
 
Int header(string string)//送出一个带有http协议的header
传统的表头一般包含下面其中的一种:
Content-Type:
Location:
Status
 
PHP预定义常量
1 $GLOBALS 数组
该数组包含了文件中定义的所有的全局变量
 
2 $_SERVER数组信息
_server[ZendEnablerConfig] = C:/Program Files/Zend/Core/etc/fastcgi.conf
_server[PHP_FCGI_MAX_REQUESTS] = 10000
_server[PHP_FCGI_CHILDREN] = 1
_server[PATH] = c:/instantclient10_1;D:/Oracle/product/10.1.0/Client_1/bin;D:/Oracle/product/10.1.0/Client_1/jre/1.4.2/bin/client;D:/Oracle/product/10.1.0/Client_1/jre/1.4.2/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/SSH Communications Security/SSH Tectia/SSH Tectia AUX;C:/Program Files/SSH Communications Security/SSH Tectia/SSH Tectia Broker;C:/Program Files/SSH Communications Security/SSH Tectia/SSH Tectia Client;C:/Program Files/IDM Computer Solutions/UltraEdit-32;C:/Program Files/Zend/Core/bin
_server[TEMP] = C:/Program Files/Zend/Core/temp
_server[OS] = Windows_NT
_server[SystemRoot] = C:/WINDOWS
_server[ComSpec] = C:/WINDOWS/system32/cmd.exe
_server[_FCGI_MUTEX_] = 1768
_server[_FCGI_SHUTDOWN_EVENT_] = 1772
_server[_FCGI_NTAUTH_IMPERSONATE_] = 1
_server[FCGI_ROLE] = RESPONDER
_server[HTTP_ACCEPT] = */*
_server[HTTP_ACCEPT_LANGUAGE] = zh-cn
_server[HTTP_UA_CPU] = x86
_server[HTTP_ACCEPT_ENCODING] = gzip, deflate
_server[HTTP_USER_AGENT] = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
_server[HTTP_HOST] = localhost
_server[HTTP_CONNECTION] = Keep-Alive
_server[COMSPEC] = C:/WINDOWS/system32/cmd.exe
_server[PATHEXT] = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_server[WINDIR] = C:/WINDOWS
_server[SERVER_SIGNATURE] =
Apache/2.0.63 (Win32) Server at localhost Port 80

_server[SERVER_SOFTWARE] = Apache/2.0.63 (Win32)
_server[SERVER_NAME] = localhost
_server[SERVER_ADDR] = 127.0.0.1
_server[SERVER_PORT] = 80
_server[REMOTE_ADDR] = 127.0.0.1
_server[DOCUMENT_ROOT] = C:/Apache/Apache2/htdocs
_server[SERVER_ADMIN] = jesen@huiguotec.com
_server[SCRIPT_FILENAME] = C:/Apache/Apache2/htdocs/study/PHPDocument1.php
_server[REMOTE_PORT] = 4490
_server[GATEWAY_INTERFACE] = CGI/1.1
_server[SERVER_PROTOCOL] = HTTP/1.1
_server[REQUEST_METHOD] = GET
_server[QUERY_STRING] =
_server[REQUEST_URI] = /study/PHPDocument1.php
_server[SCRIPT_NAME] = /study/PHPDocument1.php
_server[ORIG_SCRIPT_FILENAME] = C:/Apache/Apache2/htdocs/study/PHPDocument1.php
_server[PHP_SELF] = /study/PHPDocument1.php
_server[REQUEST_TIME] = 1206446060
_server[argv] = Array
 
HTTP_ACCEPT 定义:
http头信息由主键/值组成,定义了客服端可以处理的媒体类型.
图片类: 按优先级排序
Image/gif, image/x-xbitmap,image/jpeg, image/pjpeg,
Apllication/x-shockwave-flash, application/vnd.ms-excel,
Apllication/vnd.ms-powerpoint, application/msword,
HTTP_ACCEPT_LANGUAGE
定义客户端可以接受的语言列表
HTTP_ACCEPT_ENCODING
定义客户端可以理解的编码机制
HTTP_USER_AGENT
定义客户端产生请求的软件.
HTTP_HOST
表示请求的服务器名
HTTP_CONNECTION
定义是否保存socket连接为开发的通用表头