PHP问号表达式的用法
Jun 06, 2016 pm 08:09 PM
现有一变量$time, 可能是时间类型的,可能是一个Unix时间戳,即 $time = '2011-12-25 00:11:20';
或者 $time = 1324742400
.
现在我想把统一做一个转换,即如果是时间类型
的,就把它用strtotime($time)
函数转换成Unix时间戳,如果不是同样用这个函数strtotime($time)
会返回false
.
那么我用问号表达式$time = strtotime($time) ? strtotime($time) : $time;
能否实现这个需求,有没有更简洁的形式啊,总感觉别人不是这么写的呢?
回复内容:
现有一变量$time, 可能是时间类型的,可能是一个Unix时间戳,即 $time = '2011-12-25 00:11:20';
或者 $time = 1324742400
.
现在我想把统一做一个转换,即如果是时间类型
的,就把它用strtotime($time)
函数转换成Unix时间戳,如果不是同样用这个函数strtotime($time)
会返回false
.
那么我用问号表达式$time = strtotime($time) ? strtotime($time) : $time;
能否实现这个需求,有没有更简洁的形式啊,总感觉别人不是这么写的呢?
别人不这么写主要原因估计是,你这么写如果 time
的确是时间格式的话,会执行两次 strtotime
函数。
可以使用临时变量解决这个问题
1 2 |
|
如果是 PHP 5.3 以上,还可以使用
1 |
|
你的问题有个地方我不确定,如果是字符串时间戳,要求格式一定是 Y-m-d H:i:s
格式么?
1 |
|
其实也不需要三元操作符,直接使用&&就可以了
1 |
|

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
