日度归档:2020年11月14日

PHP中花括号起什么作用呢?


摘要:
下文讲述PHP中花括号的功能说明,如下所示;

 
 花括号的功能:
     变量定界符,表示{}里面是一个变量  

例:

<?php

$a = "maomao365.com";
${$a} = "猫猫教程";

echo $a;
echo "\n";

echo ${$a};

?>
 
//输出
maomao365.com
猫猫教程
 

PHP如何处理url中特殊字符(+,,=)呢?


摘要:
下文讲述PHP中url中特殊字符的处理方法,如下所示;

今天做支付宝验签时,发现get接收的参数和post接收参数有很大的不同,
那么为什么会出现这样的问题呢?
归根结底:
是由于url中参数信息在浏览器中发生相应的变化,那么我们如何避免这种现象发生呢?
我们需要get传送前进行url编码,然后接收后进行解码处理,
如:

 
   编码:
     urlencode(string $str);
  
   解码:
     urldecode(string $str);   

例:


<?php
echo "maomao365.com url编码解码示例\n";

$s ="maomao$&&+- 23 @1 .com";

//编码
$t = urlencode($s);
echo $t."\n";

//解码
echo urldecode($t);
?>

//输出
maomao365.com url编码解码示例
maomao%24%26%26%2B-+23+%401+.com
maomao$&&+- 23 @1 .com

PHP如何验证一个字符串是否由8~16位数字和字母密码组成的呢?


摘要:
下文讲述PHP字符串的验证技巧,如下所示;

字符串验证是我们日常开发中常用的技巧:
如:密码输入时,验证密码同时由字母和数字组成,并且其长度在8~16位之间,
且不能全部为数字
那么php中如何验证这样一个组合呢?
我们细分这个要求:
1.不能都为数字
2.可以全为字母
3.里面的字符必须为数字或字母

实现思路:
    使用以下正则表达式:
      $pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9a-zA-Z]{8, 16}$/';
      preg_match($pattern, $pwd);

      正则表达式解析说明:
        ^ 匹配一行的开头位置
        (?![0-9]+$) 预测该位置后面不全是数字
        (?![a-zA-Z]+$) 预测该位置后面不全是字母
        [0-9A-Za-z] {8,16} 由8-16位数字或这字母组成
        $ 匹配行结尾位置

例:


<?php

echo "maomao365.com 验证密码\n";

/*
 * 验证字符是否为字母和数字组成
 * 并且长度为8~16位
 * */

$pwd ="test11";
$pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9a-zA-Z]{8, 16}$/';

if (preg_match($pattern,$pwd))
{
  echo '$pwd:符合要求';
}else
{
   echo '$pwd:不符合要求'; 
}

?>