软件
-
PHP中使用switch如何判断null?
前端表单提交时,如果未定义或未填写,后端也没有定制,那么写入数据库,就是Null或者是数据库定时的预设值。 那么,在写逻辑的时候,如何用switch表达这个Null值呢? 逻辑代码如下:
123456789switch($fileInfo->cert_allowed){case 这里的NULL怎么表达?:print ("<script type=\"text/javascript\">");print ("var index = parent.layer.getFrameIndex(window.name);");print ("top.layer.msg('改文件未定义可下载人员!', {shade: 0.3});");print ("parent.layer.close(index);");print ("</script>");die;break;直接case Null? 不行 用‘Null’或者‘’呢? 也不行 那么如何判断? 用0 没错,如果写cas…
-
Thinkphp前端输出的判断,IF可能表达的更好
虽然官方给了很多中判断,但是偏偏找不到我们想要的,比如,我们要判断变量是否定义,是否为空,用官方的就比较繁琐,而PHP语句本身很容易做这样的判断。 所以,我们可以直接用IF,代码如下:
123456789101112131415{if isset($name)} //没有定义这个变量也可以判断{$name}{/if}{if in_array($age,[16,18,26])}it too young{/if}{if !empty($name)}welcome {$name}{/if}{if 16<=$age && $age<=28}it too young{/if} -
LayuiAdmin 退出接口设置及对应PHP后端代码分享
一、后端退出 将session清空,按layui要求的接口格式返回数据。
123456789public function logout(){session(null);$arr=array();$arr['code']=0;$arr['msg']="退出成功";$arr['url'] = '/index/login/login';echo json_encode($arr);}二、Layuiadmin执行退出 找到\modules\common.js,可以参考如下修改:
12345678910111213141516//退出admin.events.logout = function(){//执行退出接口admin.req({url: '/index/login/logout',type: 'get',data: {},done: function(res){ //这里要说明一下:done 是只有 response 的 code 正常才会执行。而 succese 则是只要 http 为 200 就会执行//清空本地记录的 token,并跳转到登入页admin.exit(function(){location.href = '/index/login/login';});}});};即可完成退出,并跳转登陆页面。
-
PHP中的二维数组怎么用foreach修改特定值或批量修改
之前我们已经说过怎么拼合从数据库中取出的数值并去重: PHP中数据库查询出来的二维数组去重方法 那么,我们任然有的需求是,修改指定key对应的value,或者批量修改某个字段的值,这又应该怎么做呢? 两种方式,一种是全部更改,另一种是改指定的值。 一、全部修改
123456789101112131415161718public function array_test(){// 修改 二维数组中的 name为 Getchar$users = array(array('name' => 'GetcharZp', 'age' => 19),array('name' => 'Mcx', 'age' => 18));foreach ($users as &$user) {$user['name'] = 'Getchar';}unset($user); // 销毁掉 user 引用print_r($users);}如上,整个二维数组中的name全部…
-
PHP中数据库查询出来的二维数组去重方法
有时候,我们需要合并多次查询结果来给前端呈现,这时就要合并二维数组。 二维数组去重,分两种情况,其一,是ID不重复,这种情况比较多,方法如下。 二维数组ID去重 1、定义方法
123456789101112131415161718public function remove_duplicates($arr, $key){$tmp_arr = array();foreach ($arr as $k => $v) {if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回trueunset($arr[$k]);} else {$tmp_arr[] = $v[$key];}}sort($arr);return $arr;}2、调用方法
123$list = array_merge($public,$appoint);$key = 'id';$list = $this->remove_duplicates($list , $key);二维数组内容去重 [crayon-67…
-
PHP数字前补0方法,月份个位数前面补全0的方法
比如我们只做表单是给定的是数字,123456789,以及10/11/12,则补全的方式有: 1、前端定义value补全 下拉选框或其他情形显示123456789,而value给定01/02/03/04/05/06/07/08/09,即可。 2、后端PHP处理
12$params = input();$params['month'] = sprintf("%02d", $params['month']);语法[crayon-678b8b12…
-
ThinkPHP如何从数据库中取出数据,复制遍历修改后重新插入数据库中
最近在做账单功能,需求是一键创建账单,创建时选择要复制数据的月份,即复制一份上月的数据稍作调整后作为本月或者任意月的数据。 这就需要从数据库中取出数据,修改后再插入数据库中,实际操作是发现一些问题,这里做一下总结。 一、取出数据 1、静态方法 静态方法取出的数据是对象,object,能做修改调整,但是重新插入数据库就会繁琐一些。 2、DB类 直接引用THIN…
-
Layui下拉选框使用change无效 如何取值赋值渲染
在使用layui过程中,使用下拉选框的changge,并不能执行,具体原因没有去了解,但是layui本身有一套自己的下拉选框操作方式。
123456789form.on('select(demo)', function(data){if(data.value == 1){$("#searchSessionNum").attr("disabled","true");form.render('select');}else{$("#searchSessionNum").removeAttr("disabled");form.render('select');//select是固定写法 不是选择器}});按上方写就可以了,当然,在实际过程中可以更灵活,逻辑代码按自己需求即可。
1234567form.on('select(fund_com_ratio)', function(data){console.log(data.value);var fund_base = $("#fund_base").val();$("#fund_com_num").attr("value", fund_base*data.value/100);$("#fund_person_num").attr("value", fund_base*data.value/100);form.render('select');}); -
Python自学Day65 解析动态内容
解析动态内容 根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们之前用的抓取数据的方式无法正常运转了。解决这样的问题基本上有两种方案,一是JavaScript逆向工程;另一种是渲染JavaScrip…
-
Python自学Day64 并发下载
多线程和多进程补充知识点 threading.local类 使用线程时最不愿意遇到的情况就是多个线程竞争资源,在这种情况下为了保证资源状态的正确性,我们可能需要对资源进行加锁保护的处理,这一方面会导致程序失去并发性,另外如果多个线程竞争多个资源时,还有可能因为加锁方式的不当导致死锁。要解决多个线程竞争资源的问题,其中一个方案就是让每个线程都持有资源的副本(拷…