php之工作积累 (一)

来源:互联网 发布:mysql select as 编辑:程序博客网 时间:2024/06/05 09:02
                    php之工作积累  (一)前言:在每天的工作中都能看到不少新东西,遇到这种情况我都是百度一下,然后记到记事本上以备不时之需,然而昨晚电脑突然死机让我感觉这样不太靠谱,如果这些都没了,那我最近的积累就都没了,岂不是一件憾事。更何况之前看到一位前辈写的,知识在于分享,是的,也许我的博客没几个人看,但至少我还能没事来翻翻。万一,我说万一能帮到别人,那对我来说也是一种极大的满足。话不多说,开始搬砖。1、、PHP的openssl扩展:    openssl扩展使用openssl加密扩展包,封装了多个用于加密解密相关的PHP函数,极大地方便了对数据的加密解密。 常用的函数有:    对称加密相关:des/aes/3des等加密算法    例如:string openssl_encrypt ( string $data , string $method , string $password)     其中$data为其要加密的数据,$method是加密要使用的方法,$password是要使用的密匙,函数返回加密后的数据;    其中$method列表可以使用openssl_get_cipher_methods()来获取。(即上文所说的des/aes/3des等加密算法)    这种对称的加密算法,有加密就有解密,故其解密函数为 string openssl_decrypt ( string $data , string $method , string $password)    例如:$encrypt = openssl_encrypt($user->id . ' ' . $user->password, self::SSL_CRYPT_METHOD, self::SSL_CRYPT_SALT, false, self::SSL_CRYPT_IV);    这是我们项目的一部分代码,常量定义的就是加密方法,此处需要加密的是用户的密码和Id。

2、php函数的循环方法之each,list:
each(): — 返回数组中当前的键/值对并将数组指针向前移动一步
arr=array(,,,,便,,,);printr(each(arr));
print_r(each($arr));
echo ‘


’;
/*
返回
Array
(
[1] => 你
[value] => 你
[0] => 0
[key] => 0
)
Array
(
[1] => 若
[value] => 若
[0] => 1
[key] => 1)

list()的用法:list() 用于在一次操作中给一组变量赋值。    注释:list()只用于数字索引的数组,且假定数字索引从 0 开始。    <?php     list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);    echo $a,'~',$b,'~',$c,'<br />';    //注意此处,$b和$c之间还有一个空的,所以是:0,1,3    //返回notice~40~20    //执行到$a的时候返回给我一个notice:说数组没有0键?>解释:按照一般的想法应该会返回:10~20~40    为什么会返回这个notice~40~20呢?    答:这涉及到list的运行机制,list是这么赋值的    首先:不要管右边的数组,看List里面的变量,从左到右应该是      $a = arr[0]   $b=arr[1]  $c=arr[3]    $c=arr[3]  $b=arr[1]  $a=arr[0]    所以$c=20  $b = 40  因为没有arr[0],所以$a给了一个警告

ps:这些都是在记事本里很久的东西,主要是学习使用,肯定有借鉴其他人的,如果侵权,请发邮件给我。邮箱:13273878853@163.com

1 0