php异或算法
/**
* PHP字符串“异或”算法
* param array key
* @param Request $request
* @return mixed|string|void
*/
public function setSecretKey(Request $request){
$keyArr = $request->input('key');
if(!is_array($keyArr) || empty($keyArr))
return;
foreach ($keyArr as $v){
if(empty($v) || (strlen($v) != 32)){
return;
}
}
if(count($keyArr) == 1)
return $keyArr[0];
$arrLength = count($keyArr);
$initKey = "00000000000000000000000000000000";
$initKeyArr = str_split($initKey);
for($i = 0;$i < $arrLength;$i++){
$newKey = '';
for($j = 0;$j < strlen($keyArr[$i]);$j++){
$str = '';
$tmpArr = str_split($keyArr[$i]);
$tmpA = str_pad(base_convert($tmpArr[$j],16,2),4,0,STR_PAD_LEFT);
$tmpB = str_pad(base_convert($initKeyArr[$j],16,2),4,0,STR_PAD_LEFT);
for($k=0;$k<strlen($tmpA);$k++){
$str .=(intval($tmpA[$k]) ^ intval($tmpB[$k]));
}
$tmpOneKey = strtoupper(base_convert($str,2,16));
unset($str);
$newKey .= $tmpOneKey;
}
unset($initKeyArr);
$initKeyArr = str_split($newKey);
}
return join($initKeyArr);
}
php什么是合法标识符
在PHP程序开发中经常需要自定义一些符号来标记一些名称,如变量名,函数名类名等,这些符号被称为标识符。而标识符的定义需要遵循一定的规则:
1.标识符只能由26个英文字母字符大小写(a~z,A~Z)、数字(0~9)、下划线(_)组成且不能包含空格。
2.标识符只能以字母或下划线开头的任意长度的字符组成。
3.标识符用作变量名时,区分大小写。
4.如果标识符由多个单词组成,那么应使用下划线进行分隔、
5.不可用PHP中预定义的关键字
按照PHP对标识符的定义规则,标识符it、It、it88、_it是合法的,而8it和i-t则是非法的标识符
PHP 变量规则:
变量以 $ 符号开头,其后是变量的名称,其他与上面规则相同
创建 PHP 变量
PHP 没有创建变量的命令。
变量会在首次为其赋值时被创建:
示例:<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>