【web开发】PHP其他常用字符串格式及常用加密函数

举报
迷彩 发表于 2023/07/31 09:55:31 2023/07/31
【摘要】 前言前两篇文章中我们介绍了日常开发中常用到的字符串格式化函数,本文接着带大家继续了解PHP其他字符串格式化函数及加密函数,字符串的格式化处理函数还有很多,只要是想得到所需要格式化的字符串,都可以调用PHP中的提供的系统内置函数处理即可,很少需要自己定义字符的格式化处理函数。1.strrev()函数我们之前说过,PHP中处理字符的函数很多都会以str开头,辨识度很高,这是其中一个,所以在编程中...

前言

前两篇文章中我们介绍了日常开发中常用到的字符串格式化函数,本文接着带大家继续了解PHP其他字符串格式化函数及加密函数,字符串的格式化处理函数还有很多,只要是想得到所需要格式化的字符串,都可以调用PHP中的提供的系统内置函数处理即可,很少需要自己定义字符的格式化处理函数。


1.strrev()函数

我们之前说过,PHP中处理字符的函数很多都会以str开头,辨识度很高,这是其中一个,所以在编程中命名很重要,让人一看就知道大概是什么,用在什么方面,怎么去用就有头绪了,还有利于记忆,同时还提供程序的可读性。言归正传,strrev()函数的作用是 将输入的字符串反之,即是翻转字符串,只提供一个要处理的字符串作为参数,返回反转之后的字符串.我们通过下面的实例来了解strrev()的具体用法:

<?php
$str = 'this is a demo...';

echo strrev($str);

执行结果如下:

从输出结果可以看出如同一个镜像.

2.number_format()函数详解

世界上有许多国家都有不同的货币格式,数字格式和时间格式表示惯例.针对特定的本地化环境正确地格式化和显示货币是本地化的一个重要组成部分.比如:在电子商城中,需要将用户以任意格式输入的商品价格数字转换为统一的标准货币格式.特别是跨境电商这种国际化商城有这样的需求,number_format()函数通过千位分组来格式化数字.让我们先来看看number_format()函数的原型是怎样的:

string number_format(float number [, int decimals [, string dec_point, string thousands_sep]])

number_format()函数返回格式化后的数字,函数支持一个、两个或者四个参数(不是三个)。第一个参数为必选项,提供要被格式化的数字,一般函数中的第一个参数都是必选项。如果未设置其他参数,则该数字会被格式化为不带小数点且以逗号(,)作为分隔符的数字。第二个参数是可选项,规定使用多少个小数位。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。第三个参数也是可选参数,规定用什么字符串作为小数点。第四个参数也是可选参数,规定用作千位分隔符的字符串。如果设置了该参数,那么其他参数都是必需的。下面通过实例来详细了解number_format()函数的用法:

<?php
$data = 1234567890;

echo number_format($data);
echo "<br>";
echo number_format($data, 2); //保留小数点后两位
echo "<br>";
echo number_format($data,2,',', '.'); //千位使用.分隔,并保留两位小数

执行结果如下:

3.md5()函数详解及应用

随着互联网的普及,黑客攻(gong)(ji)击已成为网络管理者以及服务器运维者的心病.有统计数据表明,70%的攻(gong)(ji)击来自于内部,因此必须采取相应对防范措施来扼制系统内部攻(gong)(ji)击防止内部攻(gong)(ji)击的重要性还在于内部人员对数据的存储位置、信息重要性非常了解,这使得内部攻(gong)(ji)击更容易奏效。攻(gong)(ji)击者盗用合法用户的身份信息,以仿冒的身份与他人进行通信,严重还导致用户财产损失。所以在用户注册时应该先将密码加密后再保存到数据库中,这样就可以防止内部攻(gong)(ji)击者直接查询数据库中的授权表,盗用合法用户的身份信息。md5()函数的作用就是将一个字符串进行md5算法加密,默认返回一个32位的十六进制字符串。md5()函数的原型如下:

string md5(string str [, bool raw_output]) //md5算法加密

其中第一个参数表示待处理的字符串,是必选项.第二个参数需要一个boolean值,是可选参数.默认值为false,返回一个32位的十六进制字符串.如果设置为true,将返回一个16位的二进制数.下面我们通过实例来详细了解md5()函数的用法:

<?php
$password = "1234567890@Qwert";

echo md5($password);
echo "<br>";
if(md5($password) == '9633b3d5790f555c33ad5391de76b53a'){ //这里是硬编码,实际开发中会从数据中获取数据去比对
	echo "密码验证通过,登录成功"; 
}else{
	echo "密码验证失败,请重新验证"; 
}

执行结果如下:

在PHP中提供了一个对文件进行md5加密的函数md5_file(),该函数的使用方式和md5()函数的使用方式一模一样.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。