文档章节

PHP不定期总结

vinci321
 vinci321
发布于 01/04 14:57
字数 539
阅读 8
收藏 1

1, json_encode($arr, JSON_NUMERIC_CHECK): 可以把数组中的值变为int型(能转的都会转),如下

$arr = array(
		"username"=>"LiLi", 
	    "passowrd"=>"123456", 
	    "age"=>"25",
	    "card_no"=>"440901197709194316", 
	    "balance"=>"20.00",
	    "test"=>"1test",
	);

$arr = json_encode($arr, JSON_NUMERIC_CHECK);
var_dump(json_decode($arr, true));

结果

/opt/wwwroot/test/test2.php:15:
array (size=6)
  'username' => string 'LiLi' (length=4)
  'passowrd' => int 123456
  'age' => int 25
  'card_no' => int 440901197709194316
  'balance' => int 20
  'test' => string '1test' (length=5)

2,  一个连续数组转为json会得到一个数组,一个非连续的数组转为json,则会得到一个对象,如下

$a = array(a,b,c,d);
unset($a[0]); //非连续数组
echo json_encode($a); //对象
{"1":"b","2":"c","3":"d"}
$a = array(a,b,c,d);
unset($a[3]); //连续数组
echo json_encode($a); //数组
["a","b","c"]

至于连续和非连续,需要看下标是否从0开始并依次顺序排列。

3, try...catch 异常捕获机制,一般用在IO操作(如文件流读取处理),DB操作,调服务时加上; 此时的log等级应为WARN而不应该是通常的INFO或者DEBUG;

4, 对DB进行增删改查时,要特别注意where语句后面的值,如果where in()括号里面为空,则会SQL报错;

5, 同一个namespace下多个class,如果在class A中use了class B,并在构造函数中初始化了class B的实例对象,此时,如果也在class B中引入class A并在构造函数中初始化class A,将会陷入死循环,并报500的错误。在Laravel中需要用 app()->make(ClassAName::class)->functionA();这种方式来获取对象,调用方法; 所以,在引入一个类之前,必须先在那个类里面看看它有没有引入当前类(直接引用肯定不行,间接引用可能也不行,待验证)。

6, 对于变量的命名,要特别注意检查它是否和上下文有重名,有重名的情况下,要严格确认是否可以进行替换,特别是循环里面。能不放在循环里面的东西就不要在循环里。

© 著作权归作者所有

共有 人打赏支持
vinci321
粉丝 6
博文 173
码字总数 217682
作品 0
私信 提问
《PHP基础知识总结》系列分享专栏

总结PHP基础知识,对初学者还是高手都值得参考巩固。 《PHP基础知识总结》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201728.html 文章 PHP检查库或函数是否...

kaixin_code
11/05
0
0
《PHP基础知识总结》系列-新鸟老鸟通吃

《PHP基础知识总结》文件夹收藏文章列表 总结PHP基础知识,对初学者还是高手都值得参考巩固。 1PHP检查库或函数是否可用的方法 2关于PHP5 Session生命周期介绍 3PHP页面和Mysql数据库的转UTF...

开元中国2015
2015/05/06
92
0
Web-安全-学习资料(很全)​

看原文 看原文 看原文 Web-安全-学习资料(很全) Web-Security-Learning 在学习web安全的过程中整合的一些资料。 该repo会不断更新,最近更新日期为:2017/9/19。 9月19日更新: 新收录文章...

Ho0oH
2017/09/26
0
0
PHP基础学习之SPL Autoload机制

PHP基础学习之SPL Autoload机制 果冻想2018-03-172 阅读 PHP 前言 上一篇文章总结了PHP中的 机制。这一篇是上一篇的姊妹篇。关于 现在基本都被抛弃了,使用的越来越少了,但是语言的发展都是...

果冻想
03/17
0
0
php中关于socket的系列函数总结

php中关于socket的系列函数总结 本文列举了所有关于PHP语言中使用socket相关服务的一些函数。注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去...

开元中国2015
2015/05/20
61
0

没有更多内容

加载失败,请刷新页面

加载更多

ElasticSearch实战:Linux日志对接Kibana

本文由云+社区发表 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTFul web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下...

腾讯云加社区
6分钟前
0
0
FeignClient超时配置

1前沿 使用Feign调用接口分两层,ribbon的调用和hystrix的调用,所以ribbon的超时时间和Hystrix的超时时间的结合就是Feign的超时时间 1.1ribbon配置 ribbon: OkToRetryOnAllOperations: f...

lovelan1314
9分钟前
0
0
分布式ID

grace_233
11分钟前
0
0
spring boot集成socketIO

spring boot集成netty-socketio java用socket给用户分组,然后给分组发送消息,或者给单个人发送消息 第一步:加载netty-socketio包 <dependency><groupId>com.corundumstudio.socketio<......

小马_wolf
14分钟前
0
0
Linux无法写入权限问题 & 解决Wordpress不能自动安装主题、插件

正 文: 当你的wordpress遇到以下问题时: 1、不能上传图片 2、不能自动安装主题、插件(需要FTP账户) 3、不能自动更新 4、其它任何需要wordpress写文件的问题 这些问题基本都是一个原因,你...

Yao--靠自己
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部