首頁  >  文章  >  後端開發  >  PHP資料庫常用的函數詳解

PHP資料庫常用的函數詳解

小云云
小云云原創
2018-03-09 10:45:112529瀏覽

本文主要和大家分享PHP資料庫常用的函數詳解,希望能幫助大家。
陣列函數
extract()
可以把關聯陣列中的下標轉換成變數使用

$stu = array('id'=>1,'name'=>Loser);
那么,id和name就可以作为变量使用了$id,$name
key()
从关联数组中取得键名
current()
返回数组中的当前单元
next()
将数组中的内部指针向前移动一位
end()
将指针指向最后一个元素
prev()
将数组中的内部指针向后移动一位
each()
返回数组中当前的键/值对并将数组指针向前移动一步,如果内部指针
穿越了数组的末尾返回false
list()
将数组中的值赋给变量
$arr = array('tom','david');
list($one, $two) = $stu;
range(A, B)
生成一个A-B的数组,倒序也可以
{{array_merge()
数组合并
array_merge(range(0,1),range('a','z'),range('A','Z'))
summary:数组合并时下标冲突,按照以下规则解决
1.如果是字符串下标,后面的元素会将前面的元素覆盖
2.如果是整数下标,重新建立下标(按照0,1,2,3的顺序来重新定义)
array_merge_recursive() 
数组合并,与array_merge没有太多的不同
最大的区别就是当有键名重复时,array_merge()会把相同键名的元素进行覆盖
而array_merge_recursive()会把相同键名的元素组合成一个新数组
}}
{{array_rand(数组,随机取出元素的个数)
随机取出数组内的元素,返回随机数组的下标
如果随机取出一个,返回整型下标
如果随机取出多个,返回整型下标数组array(A, B, C)
}}
{{shuffle(数组)
打乱数组
}}
{{
数组键值函数
[[
array_keys($array)返回数组中所有的键名
array_values($array)返回数组中的所有值
这两个返回值都是以数组的形式
]]
[[
array_combine($array1, $array2)
把两个数组进行结合,第一个数组的值做键名,第二个数组的值做值
如果键数组和值数组个数不一致,会报错
]]
[[
in_array(值, $array)
查看值是否在数组$array中
如果存在,返回true,如果不存在,返回false
区分大小写
不区分数据类型
]]
[[
array_key_exists(键, $array)
查看数组中是否包含某一个键值
类型同上
]]
}}
{{
}}
 ******************************************************/
 /******************************************************
 普通函数
sleep(参数)
延时执行
参数为秒数
 ******************************************************/
/******************************************************
数据库函数
mysql_connect('localhost','username','pwd')
连接数据库
第一个参数表示连接地址
第二个参数表示用户名
第三个参数表示密码
{{
连接数据库
mysql_connect('主机地址:[端口号]','用户名','密码')
选择数据库
mysql_query('use 数据库名')
mysql_select_db(数据库名)
设置执行环境
mysql_query('set names utf8')
}}
{{
查看数据库名称(匹配查找)
show databases like "%***%";
%是指匹配,在前面就是匹配从名字前面开始匹配,在后面就是从
名字后面开始匹配
}}
{{
创建数据库
create database ***;
}}
{{
#增加用户
#格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by '密码'
}}
{{
增删改查(语句)
#创建数据库
create database tb_name;
#删除数据库
drop database tb_name;
#使用该数据库
use tb_name;
#显示数据库中的表
show tables;
#先判断表是否存在,存在先删除
drop table if exists student;
#创建表
create table student(
id int auto_increment primary key,
name varchar(50),
sex varchar(20),
date varchar(50),
content varchar(100)
)default charset=utf8;
#删除表
drop table student;
#查看表的结构
describe student;  #可以简写为desc student;
#插入数据
insert into tb_name values('***','***','***');
#查询表中的数据
select * from tb_name;
select id,name from tb_name;
#修改某一条数据
update tb_name set sex='男' where id=4;
#删除数据
delete from student where id=5;
#蠕虫复制//让数据库成倍数增长
//插入的是重复的数据,没有很大的业务意义,主要用来测试数据表的压力或索引的效率
insert into tb_name (field) select field from tb_name;
}}
判断变量是否为空   合集
isset()  判断变量是否设置,并且设置的值不为空  
如果返回值为被创建,那么返回值为true
empty()  判断变量是否为空
判断数据类型   合集
is_numeric()判断是否是数字或者数字字符串
is_array()判断是否是数组
is_string()判断是否是字符串
is_int()判断是否是整形
is_double()判断是否是浮点型 
is_bool()判断是否是bool类型
字符串函数
is_string()判断是否是字符串
strlen($num)判断变量(字符串)的长度
implode(分隔符, $array)把数组内的值拼接成字符串
explode(分隔符, $array)把字符串按照分隔符切割成数组
[[
字符串可以理解为字符的集合(数组),所以可以通过[]来访问,不能操作中文
]]
[[
strlen()返回字符串的长度
注意:在gbk下一个汉字占两个字节,在utf-8下一个汉字占三个字节
]]
[[
去除空格函数
trim(),ltrim(),rtrim()
第一个去除前后空格,第二个去除左边空格,第三个去除右边空格
]]
[[
strpos(字符串, 'str')
查找str在字符串中的位置,从左开始,查找第一次出现的位置
strrpos(字符串, 'str')
同上,区别就是从有开始查找第一次出现的位置,但是返回的值也是
从右边开始数的
]]
[[
str_repeat($str, num)
将字符串重复几次
$word = str_repeat('你好',3);
]]
[[
ord() 获取字符的ASCII码
chr()将ASCII码转成字符
]]
[[


# 截取字串
substr(字串,開始位置,截取長度)
如果開始位置為負數,那麼就從-1開始數,如果是整數,就從0開始數
如果截取長度為空,那麼預設就是截取到最後
如果截取長度為負數,就表示後面幾個字元不截取
strchr(字串, 'str')
依照str在字串中截取
$str = 'abccba';
echo strchr($str, 'b'); result:  bccba
strrchr(字串, 'str') 
規則同上,差異就是從右邊開始
str_replace(' strone', 'strtwo', $str)  替換字串
在$str中,將strone替換成strtwo
一次取代多個字串
#以陣列的形式
$str = '明日復明日,明日何其多';
str_replace(array('明日','複'),array('1','2'),$str);
result: "12明日,1何其多"
注意:如果沒有一一對應起來,那麼將把第一個陣列中的
所有元素全部替換成第二個參數
str_split($array, num)
將字串分割成陣列
#num是指每個陣列元素中有幾個值
str_pad(字串, 長度, '補充')
字串填充,將字串填充到指定的長度,不足的用「補充值」來進行填充
在後面加上STR_PAD_LEFT 會從左邊開始
##在後面加上STR_PAD_BOTH 會從兩邊開始
字串大小寫轉換
#strtolower()
字串全部轉換成小寫
strtoupper()
字串全部轉換成大寫
nl2br()
將字串的換行轉換成0c6dc11e160d3b678d68754cc175188a
htmlspecialchars()
將字串轉換為實體
]]
排序函數
sort()
對陣列中的元素依照字母進行升序排序
rsort()
對陣列中的元素依字母降序排序
物件導向

{{
增加属性
直接用$str->新属性名 = 'str';
}}
{{
删除属性
unset($str->属性名)
}}
{{
判断属性是否存在
isset($str->属性名)
}}
{{
instanceof
用来判断变量是否属于某一个数据类型
class Student{}
$stu = new Student;
var_dump($stu instanceof Student);
}}


以上是PHP資料庫常用的函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn