导航

心动吧黑客BLOG

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« PHP中文件读写操作php搜索字符串使用与缺点(strpos) »

PHP学习笔记2-文件、数组、字符串

明生注:转一文件操作文章。挺好。。

[文件]
 
站点路径
$DOCUMENT_ROOT = $_SERVER[‘DOCUMENT_ROOT’]
 
打开/关闭文件、文件信息等
fopen() 打开文件 读、写、读写、追加等模式
fclose() 关闭文件
file_exist()
filesize()
unlink() 删除文件
 
写文件
fwrite() = fputs() 写入一个字符串,可控制写入长度
file_put_contents() 不需要先调用fopen() 常用于从FTP或HTTP获取文件
 
读文件
feof() 判断文件末尾
fgets() 读文件,可控制读入长度
fgetss() 可过滤字符,常用于读取别人所编写的文件(出于安全考虑)
fgetcsv() 一行数据中的用分隔符进行分割
文件
readfile() 无需fpoen(),打开文件输出到浏览器再关闭
fpassthru() 需要先调用fopen()
file() 返回行数据数组
字符
fgetc()
fread() 读取任意长度字节
 
文件定位
rewind() 复位文件指针到开始
fseek() 指向文件某个位置
ftell() 返回指针字节位置
 
文件锁定
flock() 文件加锁/解锁
LOCK_SH 读操作锁 共享
LOCK_EX 写操作锁 互斥
LOCK_UN 释放锁
LOCK_NB 防止在请求加锁时发生阻塞
非线程同步的
 
 
[数组]
 
创建数组
$test = array(‘first’, ‘second’, ‘third’);
$test2 = range(1, 10) //1到10的数组
$test3 = range(1, 10, 2) //1到10的奇数数组
$test4 = range(10, 1, -1) //10到1的数组
$test5 = range(‘a’, ‘z’) //字母a到z的字符数组
 
追加元素
$test[3] = ‘forth’; //向数组test末尾添加新元素
array_push($test, ‘forth’)
 
foreach循环
foreach ($test as $ $current) {
         echo $current.’ ‘;
}
 
关键字
$test = array( ‘Tieres’ => 100, ‘Oil’ => 10, ‘Spark’ => 4);
foreach ($test as $key => $value) {
         ……
}
while ($element = each($test)) {
         echo $element[‘key’].’-‘.$element[‘value’];
}
reset($test);
while( list($user, $psw) = each($test) )
         echo ……
 
数组排序(升/降)
一般排序:sort() rsort()
value排序:asort() arsort()
key排序:ksort() krsort()
用户定义排序:usort() uasort() uksort()
例:
usort ($test, ‘compare’);
function compare($x, $y) {
         if ( $x[2] == $y[2] ) {
                   return 0;
}
else if ( $x[2] < $y[2] ) {
         return -1;
}
else {
         return 1;
}
}
反向排序:array_reverse() = rsort()
随机排序:array_rand() = shuffle()
 
内部指针
reset() 指针移动到第一个元素
end() 指针移动到最后一个元素
each() 返回值->前移
next() 前移->返回值
prev() 与next()相反
current() 返回当前值
pos() 返回当前位置值
 
对数组中的每一个元素进行操作
bool array_walk(array arr, string ‘func’, [mixed userdata]);
function func(value, key, userdata);
 
数组元素统计
count() = sizeof()
array_count_values($array) 返回一个包含频率表的相关数组
 
将数组转化成标量变量(可以为key添加前缀等来解决冲突)
$array = array( ‘key1’ => ‘value1’, ‘key2’ => ‘value2’, ‘key3’ => ‘value3’ );
extract($array);
echo “$key1 $key2 $key3”;
 
 
[字符串]
 
过滤空格
chop() = trim() 过滤除去空白字符及其他自定义字符
ltrim() rtrim()
 
格式化字符串
nl2br() HTML格式化
printf()
sprintf()
大小写处理:Strtoupper() Strtolower() Ucfirst() Ucwords()
特殊字符引号、反斜杆、NULL字符处理:addslashes() stripslashes()
魔术引号
 
分割和重组
explode()
implode() = join()
strtok()
例:
$token = strtok($test, ‘ ‘);
echo $token.’<br />’;
while($token != ‘’) {
         $token = strtok(‘ ‘);
         echo $token.’<br />’;
}

原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]

本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/php/312/

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

黑客榜之本月排行

搜索内容

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved