写代码时容易用到的基础函数总结

25-04-07 03:47 632 0

//PHP设置跨域

header("Access-Control-Allow-Origin:*");


//PHP设置JSON头 以JSON格式输出

header("Content-type:application/json; charset=utf-8");


//正则取字符串

preg_match_all('/字符串(.*?)字符串/i',$data,$out);


// PHP把JSON对象转字符串不转码输出

json_encode($results, JSON_UNESCAPED_UNICODE);


//PHP设置最大运行时间 0 是永久

set_time_limit(0);


//PHP设置最大运行内存 1024M 是1G

ini_set('memory_limit', '1024M');


//返回数组中元素的个数,可以理解为返回数组的长度

count();


//获取变量中的字符串值,可以理解为把变量转换成字符串类型

strval();


//查询数组里是否存在着指定的健名,返回true和false

array_key_exists(键名,数组);


//特殊字符转换,可有效的防止xss注入

htmlspecialchars(addslashes(变量));


//清除字符串两旁的空格

trim();


// 向文件追加写入内容

// 使用 FILE_APPEND 标记,可以在文件末尾追加内容

// LOCK_EX 标记可以防止多人同时写入

file_put_contents(文件路径, 要写入的内容, FILE_APPEND | LOCK_EX);


//查询数组里是否存在该键值,存在返回该键值的键名,如果有多个匹配,那么返回最先匹配到的键值的键名

//false代表不限类型,键值数据相同即可

//true代表完全匹配,要求数据类型和键值完全相同,默认为false

array_search("键值", 数组, false);


//把变量转换为整数类型,如果有小数,则删除小数,不执行四舍五入

//失败或者变量为空时返回0,否则返回1;

intval();


//往数组尾部插入一个或多个元素

//返回新数组

array_push($a, "要插入的元素", "要插入的元素");


//把变量类型转换为字符串类型

//返回该字符串

strval();


// 查询数组里是否存在该键值,存在返回true,反之返回false

//false代表不限类型,键值数据相同即可

//true代表完全匹配,要求数据类型和键值完全相同,默认为false

in_array('键值', 数组, false);


//新建mysql服务器连接,可理解为新建数据库连接

$mysql = mysqli_connect("ip", "用户名", "密码", "数据库", "端口(默认为3306)");


//修改数据库连接的字符集

mysqli_set_charset($mysql, "utf8");


//对数据库进行sql操作

mysqli_query($mysql, sql语句);


//返回结果集的中行的数量,可理解为返回结果集的长度

mysqli_num_rows();


//从结果集中获取一条数据,并作为数组返回

mysqli_fetch_row();


//以切割符为断点切割字符串,组成数组并返回,

//数组的数目也就是长度

//大于0,返回相对数值的数组,如1,返回的数组只有一个元素, 0也返回只有一个元素的数组

//小于0,从数组尾部开始,去除 (-x) 的绝对值个元素,返回

explode("分割符", 变量, 返回数组元素的数目);


//把数组里的元素打乱随机排序

shuffle();


//截取保留结果集的第 n 条数据,其他删除,并返回

//n为0时截取第一条,为1时截取第二条,以此类推,n为-1时截取最后一条

mysqli_data_seek($xx, n);


//将数组转为json格式

json_encode();


//将json格式转为数组对象

json_decode($xxx);


//检测变量是否为数字,返回 true false

is_numeric(变量);


//将json格式转为数组

json_decode($xxx, true);


//清除指定的变量

unset($a);


//字符串替换指定值

//搜索$pic字符串里的\符号,全部替换成/

str_replace("\\", "/", $pic);


//设置时区 PRC为中国时区

date_default_timezone_set("PRC");


//获取当前时间

date('Y-m-d H:i:s', time());


//获取当前0点的时间戳

strtotime(date("Y-m-d"), time());


//下个月现在的时间戳

strtotime('+1 month');


//获取当前时间戳

time();


//获取当前时间的微秒

microtime();


//把日期时间转换成时间戳

strtotime();

//例:strtotime("2019-01-01 00:00:00");


//检查变量是否存在

isset();


//检查当前文件是否存在

file_exists();


//延迟下面的程序执行,1为延迟一秒后再执行后面的程序

sleep(1);


//创建目录,并且设置最高权限

mkdir(目录名称, 0700, true);


//创建一个0到100的随机数

mt_rand(0, 100);

rand(0,100);


//根据需求创建一个数组如:

range(0, 100);

//结果 Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ... [100] => 100 );


//首字母转换为大写

ucwords();


//返回当前内存消耗量

memory_get_usage();


//获取一个数组的全部键名

array_keys(数组);


//获取一个数组的全部健值

array_values(数组);


//php引入php文件

require()、include()、require_once()、include_once()

//require和include相同点:都是引入并执行文件

//require和include不同点:

//require一般只会放在PHP脚本最前面进行使用,因为它会先行执行文件,需等待require引入的文件执行完成方可继续执行下去,如果require执行文件时出现错误,则会返回一个致命错误,并带掉程序。

//include一般是放在脚本中间进行使用,因为它不会先行执行,只会在用到的时候再执行加载,如果include引入的文件执行错误,不会带掉程序,只会返回一个警告,然后程序继续执行下去

//而require_once()和include_once()则跟require和include一样,唯一多出的一点属性就是:检测文件是否已经加载过,如果已经加载过了,就不再进行加载了


//检测ip是否合法

long2ip()和ip2long()

//ip2long():把ip转换成为整形,如:2130706433,如果ip不是合法ip则返回空

//long2ip():把整形转换为ip,如果整形为空则返回0.0.0.0

long2ip(ip2long("127.0.0.1"));


//数组转为字符串

implode(",", 数组);


//查看php设置

phpinfo();


public(公共的、默认)


protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。


private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。


static 把方法设置成静态方法


interface 定义接口  如

interface a

{

    //抽象方法,里面不添加任何数据及逻辑

    public function b();

}


abstract 可把当前类定义为抽象类,抽象类时不能实例化的,等着被继承


implements 实现接口,和extends不同的是,如果当前类里面实现了这个接口a,但是类里面没有方法b,那么就会报错


extends 继承类,使用过框架的都知道,他的作用就是继承某个类,从而让他更容易的调用里面的方法


paremt::方法名 子类调用父类方法


//检查扩展是否已加载 ,返回布尔值

extension_loaded()


//加载图片的基本信息,返回值为数组

getimagesize()

//输出结果:

array(

        [0]   => 图片宽度的像素值

        [1]   => 图片高度的像素值

        [2]   => 图片的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM

        [3]   => 图片的宽高

        [bits] => 图片的每种颜色的位数,二进制格式

        [mime] => 图片的 MIME 信息,此信息可以用来在 HTTP Content - type 头信息中发送正确的信息,如: header("Content-type: image/jpeg");

    )


//获取图片后缀 注:当获取的图片后缀为jpg的时候,将会输出jpeg,当false为true时则输出.png

image_type_to_extension(getimagesize('./01.png')[2], false);


//创建画板,默认背景颜色为黑色

imagecreatetruecolor(宽,高);


//给画板设置背景颜色

imagecolorallocate(imagecreatetruecolor(宽,高), 255, 255, 255);


//压缩

imagecopyresampled(画板,图片,画板X坐标点,画板y坐标点,图片x坐标点,图片y坐标点,要压缩到多宽,要压缩到多高,图片的宽,图片的高);


//销毁图像资源

imagedestroy();


//合并图片,把图片2放到图片1里面

imagecopymerge(图片1,图片2,图片1x坐标点,图片2y坐标点,图片1x坐标点,图片2y坐标点,图片2的宽,图片2的高,透明度);


//设置字体的颜色

imagecolorallocatealpha(图片或者画板,rgb颜色1,rgb颜色2,rgb颜色3,透明度);


//在图片或者画板里设置水印

imagettftext(画板或者图片, 字体大小, 字体倾斜度, 字体的x坐标, 字体的y坐标, 字体的颜色imagecolorallocatealpha(), 字体文件如:'STHUPO.TTF', 要输出的文字);


分享
收藏

发表我的评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~