首页
关于
留言
壁纸
更多
直播
统计
友链
Search
1
好用的软件分享
354 阅读
2
最新Navicat 15 for MySQL破解+教程 正确破解步骤
261 阅读
3
面试常见问题100问
218 阅读
4
一个人要走的时候,千万别问原因
182 阅读
5
直击心灵的唯美句子
144 阅读
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
登录
Search
标签搜索
mysql
python
django
express
面试
axios
thinkphp
PHP
励志
哲理
九九乘法表
node
cors
跨域
唯美句子
美文
文件上传
ajax
算法
jwt
公子初心
累计撰写
74
篇文章
累计收到
9
条评论
首页
栏目
日常记录
后端
PHP
NodeJs
Python
Java
前端
JavaScript
数据库
MySQL
服务器
美文
微信开发
微信公众号
微信小程序
编程
页面
关于
留言
壁纸
直播
统计
友链
搜索到
13
篇与
的结果
2023-12-11
Laravel中cookie存数组
function makeCookie($key,$val){ // 查看cookie中是否已经存过键为history_ids if(Cookie::has($key)){ // 已经存过了 $json_str = Cookie::get($key); // 获取的数据是json字符串,需要转成数组 $arr = json_decode($json_str,true); // 判断数组中的某个键是否存在 if(!array_key_exists($val,$arr)){ $arr[$val] = ["id"=>$val]; // [ ["id"=>4], ["id"=>888] ] // 将二维数组转成json格式的字符串 $json_str = json_encode($arr); Cookie::queue($key,$json_str); } }else{ // 还没存呢 第一次 $arr[$val]['id'] = $val; $json_str = json_encode($arr); // json形式的字符串 Cookie::queue($key,$json_str); }
2023年12月11日
21 阅读
0 评论
0 点赞
2023-06-27
PHP九九乘法表,分支,循环小案例
九九乘法表echo "<table border='1'>"; for($i=1;$i<=9;$i++){ echo "<tr>"; for($j=1;$j<=$i;$j++){ echo "<td>".$j."*".$i."=".($i*$j)."</td>"; } echo "</tr>"; } echo "</table>"; ?> <table border="1"> <?php for($a=1;$a<=9;$a++){?> <tr> <?php for($b=1;$b<=$a;$b++){?> <td><?php echo $b."*".$a."=".($a*$b)?></td> <?php }?> </tr> <?php }?> </table>2.九九乘法表的四种变形echo "<table width='600' border='1'>"; for ($j = 1; $j <= 9; $j++) { echo "<tr>"; for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>"; echo "<table width='600' border='1'>"; for ($j = 9; $j >= 1; $j--) { echo "<tr>"; for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";echo "<table width='600' border='1'>"; for ($j = 9; $j >= 1; $j--) { echo "<tr>"; for ($z = 0; $z < 9 - $j; $z++) { echo "<td> </td>"; } for ($i = 1; $i <= $j; $i++) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";echo "<table width='600' border='1'>"; for ($j = 1; $j <= 9; $j++) { echo "<tr>"; for ($z = 0; $z < 9 - $j; $z++) { echo "<td> </td>"; } for ($i = $j; $i >= 1; $i--) { echo "<td>{$i}*{$j}=" . ($i * $j) . "</td>"; } echo "</tr>"; } echo "</table>";3.打印100以内的斐波那契数(迭代法)斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、$num1=1; //第一个数 $num2=1; //第二个数 echo $num1,' ',$num2,' '; while(true){ $num3=$num1+$num2; //第三个数是前面两个数的和 if($num3>100) //超过100就终止循环 break; echo $num3,' '; $num1=$num2; //将$num2移给$num1 $num2=$num3; //将$num3移给$num2 }4.打印水仙花数for($i=100;$i<=999;$i++){ $a=(int)($i/100); //百位数 $b=(int)(($i%100)/10); //十位数 $c=$i%10; //个位数 if($i==pow($a,3)+pow($b,3)+pow($c,3)) echo $i,'<br>'; }5.循环输出1-100,其中3的倍数输出A,5的倍数输出B,15输出Cfor($i=1; $i<=100; $i++) { if($i%15==0) //先写%15,,因为可以%15的值一定可以%3和%5 echo 'C'; elseif($i%3==0) echo 'A'; elseif($i%5==0) echo 'B'; else echo $i; echo ' '; }判断一个数是不是质数$n = 15; $i = 2; $bool = true; while ($i<$n){ if($n % $i == 0){ $bool = false; break; } $i++; } if($bool){ echo '质数'; }else{ echo '不是质数'; }7.输出100以内的所有质数for($i=2;$i<=100;$i++){ $flag = true; for($j=2;$j<$i;$j++){ if($i%$j == 0){ $flag = flase; break; } } if($flag){ echo "{$i}是质数" }else{ echo "{$i}不是质数" } }8.假设某个人有100000现金,每经过一个路口需要交过路费。规则是当他现金大于50000时每次需要交5%,如果现金少于等于50000时每次交5000请写出程序计算此人可以经过多少次这个路口$money = 100000; $m = 0; $x = 0; $y = 0; while ($money >=5000) { $m += 1; if ($money > 50000) { $money = $money * 0.95; $x += 1; echo "{$m}第{$x}次经过路口,我还剩{$money}元"; } else if ($money <= 50000) { $money = $money - 5000; $y += 1; echo "{$m}第{$y}次经过路口,我还剩{$money}元"; } } 9.金字塔for($i=1;$i<=10;$i++){ for($k=1;$k<=10-$i;$k++){ echo ' '; } for($j=1;$j<=$i*2-1;$j++){ echo '金'; } echo '<br>'; } //倒金字塔 for($i=5;$i>0;$i--){ for($z=1;$z<=5-$i;$z++){ echo " "; } for($j=1;$j<=$i*2-1;$j++){ echo "金"; } echo "<br>"; }10.百僧吃百馍for($i=1;$i<=33;$i++){ if($i*3 + (100-$i)/3 == 100 ){ echo '大和尚有'.$i."个"; echo '小和尚有'.(100-$i)."个"; break; } }11.百钱买百鸡for($i=1;$i<20;$i++){ for($j=1;$j<33;$j++){ if($i*5+$j*3+(100-$i-$j)/3 == 100){ print_r($i,$j,(100-$i-$j)); } } } 12.鸡兔同笼$i = 1; while ($i<35) { if(2 * $i + (35 - $i) * 4 == 94) { echo "鸡{$i},兔{35-$i}"; $i++; } }
2023年06月27日
46 阅读
0 评论
0 点赞
2022-12-15
thinkphp框架之Excel导入导出,jwt使用
1.Excel 上传(thinkPHP6)public function upload(){ $file = request()->file(request()->post("file")); // // 上传到本地服务器 $savename = \think\facade\Filesystem::disk('public')->putFile(request()->post("path"), $file); // // 将上传后的文件位置返回给前端 return json(['code' => 0,"savename"=>$savename]); }2.Excel 导入(thinkPHP6)public function readExcel(){ $filename = "upload/".request()->get("savename"); $obj = PHPExcel_IOFactory::load($filename); $data['major_id'] = Db::name("major")->where("major_name",$obj->getSheetNames()[0])->value("id"); $data['create_time'] = date("Y-m-d H:i:s"); // 导入时间 $sheet = $obj->getSheet(0);// 获取第0个sheet $lesson_list = $sheet->toArray();//把表格的数据转换为数组,注意:这里转换是以行号为数组的外层下标,列号会转成数字为数组内层下标,坐标对应的值只会取字符串保留在这里,图片或链接不会出现在这里。 /* * 0 => array:5 [ 0 => "序号" 1 => "课程阶段" 2 => "课程名称" 3 => "课程编号" 4 => "课程内容" ] 1 => array:5 [ 0 => "第1周" 1 => "第一阶段" 2 => "Logic JAVA" 3 => "LogicJAVA-1" 4 => "课程架构分析,java发展史,java特性,java平台版本,dos命令,jdk下载与安装,开发环境搭建,第一个HelloWorld程序" ] * */ for($i=1;$i<count($lesson_list);$i++){ $data['lesson_stage'] = $lesson_list[$i][1]; // 课程阶段 $data['lesson_name'] = $lesson_list[$i][2]; // 课程名称 $data['lesson_number'] = $lesson_list[$i][3];// 课程编号 $data['lesson_content'] = $lesson_list[$i][4];// 课程内容 Db::name("normal_lesson")->insertGetId($data); } }3.Excel导出(thinkPHP6)//导出功能 public function export(){ // 获取班级名称 $class_name = request()->get("class_name"); // 根据班级名称查询此班级对应的专业名称 $major_name = Db::name("class_name") ->alias("cn") ->field("m.major_name") ->join("major m","cn.major_id=m.id") ->where("cn.class_name",$class_name) ->value("m.major_name"); // 根据班级名称获取所有属于这个班级的数据 $excel_name = $class_name.".xlsx"; //实例化PHPExcel类,类似于在桌面上新建一个Excel表格 $PHPExcel = new PHPExcel(); //获得当前活动sheet的操作对象 $PHPSheet = $PHPExcel->getActiveSheet(); //给当前活动sheet设置名称 $PHPSheet->setTitle($excel_name); // 1.逐个单元格去填充数据,适合数据量较大的情况 //给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue('A1',''); // $PHPSheet->setCellValue('A1','姓名')->setCellValue('B1','分数'); // $PHPSheet->setCellValue('A2','张三')->setCellValue('B2','50'); // 2.一次性填充数据,适合数据量较小的情况 // 根据当前考场的id 查询当前考场的所有考生信息 $title = ["编号","日期","星期","班级","教室","计划进度","讲师进度","讲师姓名","课时","讲师提交时间","备注"]; $normal_teacher_lesson = Db::name("normal_teacher_lesson") ->field("id,progress_date,progress_week,class_name,room_name,lesson_number,teacher_progress,teacher_name,class_hour,teacher_create_time,remark") ->where("class_name",$class_name) ->order("id asc") ->select() ->toArray(); // 添加表头 array_unshift($normal_teacher_lesson,$title); $PHPSheet->fromArray($normal_teacher_lesson); // //按照指定格式生成Excel文件,'Excel2007'表示生成2007版本的xlsx, $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); // header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器输出07Excel文件 // //header('Content-Type:application/vnd.ms-excel');//告诉浏览器将要输出Excel03版本文件 // //告诉浏览器输出excel名称 header("Content-Disposition: attachment;filename=$excel_name"); header('Cache-Control: max-age=0');//禁止缓存 $PHPWriter->save("php://output"); dd(); }4.jwt thinkphpcomposer require firebase/php-jwt use Firebase\JWT\ExpiredException; use Firebase\JWT\JWT AS JWTUtil; use Firebase\JWT\Key;5.jwt 生成token// jwt生成token function createToken($user=[],$exptime=0){ $key = md5(Config::get('app.jwt_secret_key')); // jwt 的签发秘钥 $time = time(); // 签发时间 $expire = $time + $exptime; // 过期时间 $token = array( $user, "iss"=>"yunhedata", //签发组织 "aud"=>"zhangxuhui",//签发作者 "iat"=>$time, "nbf"=>$time, "exp"=>$expire ); $jwt = JWTUtil::encode($token,$key,'HS256'); return $jwt; }6.jwt校验token//jwt校验 function verifyToken($token){ // jwt 的密钥 $key = md5(Config::get('app.jwt_secret_key')); // jwt 的签发秘钥 try{ $jwtAuth = json_encode(JWTUtil::decode($token,new Key($key, 'HS256'))); $authInfo =json_decode($jwtAuth,true); return ['code'=>0,'msg'=>'token正常','data'=>$authInfo[0]]; }catch (ExpiredException $e){ return ['code'=>1,'msg'=>'token过期','data'=>[]]; }catch (\Exception $e){ return ['code'=>2,'msg'=>'token错误','data'=>[]]; } }
2022年12月15日
45 阅读
0 评论
0 点赞
1
2