分类目录归档:未分类

PHP数组是值传递

PHP数组默认都是值传递,

例如:

$a1 = $a2 = [1];

$a1 = [2];

var_dump( $a2 ); // [1]

echo "<br>";

var_dump( $a1 );  // [2];

此时a1和a2中的值不同

对大量数据处理时,如果频繁使用数组则会消耗大量的内存,因为数组的每产生一个新变量名都是一次数值拷贝。

如果数据较多,可以用 StdClass 类处理。

java viewjdbc使用in操作

在前端拼接数据,直接在sql中使用 in ( + ids +)拼接字符串。

int update = ViewJDBC.update("update question set qview=? where qno in("+qnos+")",qview);
if(update>0){
    return Message.success("权限修改成功");
}else{
    return Message.fail("服务器繁忙,请稍后试试");
}

这里字符串的 in 不能使用 ? 代替,否则会导致错误。

成功或失败, 返回影响结果的条数。

php 数组函数,extract

已知有数组 $params :

array(
   'action' => 'store',
   'template' => 'store'
);

则使用 extract 可将这2个函数导出为变量,变量名为键名,变量值为键值

extract ($params);

得到的结果相当于:

$action = 'store';
$template = 'store';

不过,只能取得一层,如果 action 还是一个数组,则无法提取action里的内容,当然你可以再提取一次。

利用这个函数,推荐将配置项设置为一维数组。然后 extract 即可得到所有的配置项。

另外,在存储时,可以使用 var_export($arr, true)自动生成合法的php数组代码

$text='<?php return '.var_export($config,true).';';
return file_put_contents("./config.php",$text);

读取文件,使用一个变量名接收

$config = require("./config.php");

springboot返回json响应头

默认情况下,如果springMvc接口返回的是String类型,则默认是text/html响应头。

如果直接返回对象,则被自动封装为json。

如果需要对String类型的数据也返回json响应头,则可以添加produce属性

 @RequestMapping(value = { "/api/v1/test" }, method = { RequestMethod.POST }, produces="application/json;charset=UTF-8")
 @ResponseBody
 public String cancelCall(HttpServletResponse rsp) {
   rsp.addHeader("Access-Control-Allow-Origin", "*");
   return "{\"url\":\"http://192.168.1.1/notify\"}";
 }

系统模块名称规范

如果一个系统模块很多,有的可以一个短单词,例如 tuan

而长的单词或拼音,例如 paimai

此时,不要使用驼峰命名,都使用小写,这样大小写可与短单词一致。能看出来这是一个模块名,以及便于后期的批量替换。