2016-08-04 PHP函数随笔
函数:1. 封装性 2. 可重用性
(变量就是类里面的属性,函数就是类里面的方法)
【// 返回两个函数的值
$sum = 0;
function get_max($a, $b) {
global $sum;
$c = ($a>$b)?$a:$b;
$sum = $a+$b;
/* $array = [$c, $sum];
return $array; */
或 return "$c == $sum";
然后用 explode 分割字符串;
}
get_max(10, 20);
】
函数:
1. 函数分为内置函数,自定义函数
2. 自定义函数使用前先要声明
3. 函数的调用
4. 形参与实参【函数的参数视情况设定可有可没有,函数也可能没有返回值,函数的调用可以在函数声明之前也可在声明之后】
5. 函数的返回值
6. 函数的功能
7. 函数传递分为传值和传引用【传值是传内容,两个变量没有关系
传引用传的是内存地址,两个变量指向同一个内存地址,一个变量发生改变另一个变量会跟着变】
8. 函数体中变量是局部变量,函数体外是全局变量,全局变量要么以参数形式传递至函数体中,要么在函数体中用 global 声明
超全局变量可以在函数中直接使用
【超全局变量:
$_GET $_POST $_SERVER $_REQUEST
$_COOKIE $_SESSION $_GLOBALS
】
9. 函数名不区分大小写,js 里面区分
10. 函数声明时,可以设置默认参数,调用时默认参数可以省略,默认参数声明时必须放在最后
【function sum($num1, $num2, //设置默认参数“+”,默认加法运算//$op="+") {
sum(10, 20);
}
】
mt_rand() 生成更好的随机数
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL
【该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串】
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >
time() 返回当前时间的 Unix 时间戳
microtime() 返回当前 Unix 时间戳和微秒数
mktime() 返回一个日期的 Unix 时间戳
strtotime() 任何英文文本的日期时间描述解析为 Unix 时间戳
array_pop() 删除数组中的最后一个元素
array_keys() 返回包含数组中所有键名的一个新数组
array_values() 返回一个包含给定数组中所有键值的数组,但不保留键名
被返回的数组将使用数值键,从 0 开始并以 1 递增
【第二个参数用来确定要选出几个元素。如果选出的元素不止一个,则返回包含随机键名的数 组,否则返回该元素的键名】
array_search() 在数组中搜索给定的值,如果成功则返回相应的键名
in_array() 搜索数组中是否存在指定的值
sort() 对索引数组进行升序排序
该函数为数组中的单元赋予新的键名。原有的键名将被删除
如果成功则返回 TRUE,否则返回 FALSE
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除
注释:被保留的数组将保持第一个数组项的键名类型
file_get_contents() 把整个文件一次性读入一个字符串中
file_put_contents() 把一个字符串写入文件中
如果打开失败,本函数返回 FALSE
fwrite() 将内容写入一个打开的文件中
函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行
如果函数成功执行,则返回写入的字节数。如果失败,则返回 FALSE
fclose() 关闭一个打开的文件
copy() 拷贝文件
unlink() 删除文件
若成功,则返回 true,否则返回 false
mysql_connect() 打开非持久的 MySQL 连接
如果成功,则返回一个 MySQL 连接标识,失败则返回 FALS
脚本一结束,到服务器的连接就被关闭,除非之前已经明确用 mysql_close() 关闭了
mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别: 1. 当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密 码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接
2. 其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打 开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接
返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false
mysql_num_rows() 返回结果集中行的数目
mysql_affect_rows() 函数返回前一次 MySQL 操作所影响的记录行数
如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0
将实现全部结果的匹配
print_r() 打印关于变量的易于理解的信息
empty() 检查一个变量是否为空
isset() 检测变量是否设置
ini_set() 用来设置php.ini的值,在函数执行的时候生效
需要在$_SESSION使用之前调用
define() 定义一个常量
常量类似变量,不同之处在于:
在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字
若常量存在,则返回 true,否则返回 false
【认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数】