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

文件

 

站点路径

 

$DOCUMENT_ROOT = $_SERVER[‘DOCUMENT_ROOT’]

 

打开/关闭文件、文件信息等 

 

fopen() 打开文件 读、写、读写、追加等模式

 

fclose() 关闭文件

 

file_exist()

 

filesize()

 

unlink() 删除文件

 

写文件

 

fwrite() = fputs() 写入一个字符串,可控制写入长度

 

file_put_contents() 不需要先调用fopen() 常用于从FTPHTTP获取文件

 

读文件

 

 

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) //110的数组

 

$test3 = range(1, 10, 2) //110的奇数数组

 

$test4 = range(10, 1, -1) //101的数组

 

$test5 = range(‘a’, ‘z’) //字母az的字符数组

 

追加元素

 

$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 />’;

}

 

转载于:https://www.cnblogs.com/zhengchuyu/archive/2008/07/20/1246890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值