首页 > 编程语言 >【web开发】PHP其他常用字符串格式及常用加密函数

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

时间:2023-06-26 23:31:27浏览次数:45  
标签:web 常用 格式化 函数 number 参数 字符串 PHP md5

前言

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


1.strrev()函数

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

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

echo strrev($str);

执行结果如下:

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

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

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,',', '.'); //千位使用.分隔,并保留两位小数

执行结果如下:

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

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 "密码验证失败,请重新验证"; 
}

执行结果如下:

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

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

标签:web,常用,格式化,函数,number,参数,字符串,PHP,md5
From: https://blog.51cto.com/micai01/6559079

相关文章

  • WP CTF-Web 攻防世界 GFSJ0235 unserialize3
    「场景」进入场景:classxctf{public$flag='111';publicfunction__wakeup(){exit('badrequests');}?code=「思路」根据题目提示——反序列化已知PHP在进行反序列化前,会检查是否存在__wakeup函数,若存在,则先调用该函数.__wakeup()经常用在反序列化操作中,例如重新......
  • PHP 常量的说明和使用
    常量类似变量,但是常量一旦被定义就无法更改或撤销定义。PHP常量常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有$符号)。注释:与变量不同,常量贯穿整个脚本是自动全局的。设置PHP常量如需设置常量,请使用define()函数-它使......
  • 第四章 PHP创建与解析XML
    demo1.php<?php $_a=5; //单引号 $_string1='Thisis$_aaString!'; //双引号 $_string2="Thisis$_aaString!";// echo$_string1;// echo$_string2; //复杂式,多行,特殊字符,单引号,双引号,变量。 //<<<<aaaa表示字符串开始aaaa;不是字符串的结束 $_str......
  • PHP 多行字符串的赋值方法
    <?php//PHP多行字符串的赋值方法//<<<string里面的string是可以随机其他的标记 $article=<<<string<!DOCTYPEhtml><htmllang="zh-cn"><head><metacharset="UTF-8"><metaname="viewport"content=&......
  • PHP 堆 栈 数据段 代码段 存储的理解
    代码段、数据段、堆栈段,这是一个概念堆、栈、全局区、常量区,这是另一个概念函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。栈:基本数据类型局部变量(这两种甚至可以直接认为一块空间叫a,里面存着8)类的引用(指向堆空间段)堆:new出来的......
  • PHP 去除前后空格
    <metacharset="UTF-8"><?php$str="阅谁问群诵,水落清香浮。";echo"方括号中为原始字符串:[$str]\n";$str1=ltrim($str);echo"执行ltrim()之后的字符串:[$str1]\n";$str2=rtrim($str);echo"执行rtrim()之后的字符串:[$str2]\n"......
  • [WP] 攻防世界 CSFJ0234 PHP2
    「场景」http://61.147.171.105:54099/「过程」创建场景后,点击得到的URL,在F12开发者工具中收集信息。服务器:Apache语言:PHP直接上御剑扫描发现/index.php总所周知,phps即PHPSource,是php的源代码文件。通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览......
  • PHP 获取url的一级域名的方法
    <?phpfunctionregular_domain($domain){ if(substr($domain,0,7)=='http://'){ $domain=substr($domain,7); } if(strpos($domain,'/')!==false){ $domain=substr($domain,0,strpos($domain,'/'......
  • Zend Studio 10.6.2 修改新建php文件时的默认模板
    Window-->preferences-->PHP-->CodeStyle-->CodeTemplates-->Simplephpfile ,点击edit。修改成你想要的结果,然后点击OK保存。 ......
  • 基于前端Vue后端.NetCore Web后台管理系统通用开本框架采用前后端分离技术
    基于前端Vue后端.NetCoreWeb后台管理系统通用开本框架采用前后端分离技术,前端使用vue2.6.0,后端使用.netcore3.1,支持跨平台、多租户、支持MySQLSQLServerOracle多数据库,模块化设计,高性能,高颜值,不管是个人学习还是企业做项目都非常适合 原创文章,转载请说明出处,资料来源:http://im......