一、简写
1、 c=a>b ? true:false
意思是: 如果a>b 为真 则返回真,否则返回假(当然可以用语句替换),并且把结果返回给c。
2、c = a ?? b
表示如果a非空,则c = a,如果a为空,则 c = b。
二、数据转换
1.json_encode
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
语法
string json_encode ( $value [, $options = 0 ] )
参数
- value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
-
options:由以下常量组成的二进制掩码 JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。
要注意的是 JSON_UNESCAPED_UNICODE 选项,如果我们不希望中文被编码,可以添加该选项。
实例
以下实例演示了如何将 PHP 数组转换为 JSON 格式数据:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
以上代码执行结果为:
{"a":1,"b":2,"c":3,"d":4,"e":5}
2.json_decode
PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
语法
mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
参数
-
json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据
-
assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。
-
depth: 整数类型的参数,它指定递归深度
-
options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。
实例
以下实例演示了如何解码 JSON 数据:
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
以上代码执行结果为:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
(转载自菜鸟教程)
3.时间戳
获取当前时间
<?php var_dump(time()); //获取当前时间戳 int(1502245603)
时间戳转换为时间,可以用date(‘Y-m-s h:i:s’, 具体时间戳来实现).
Y :年(四位数)大写 m : 月(两位数,首位不足补0) 小写 d :日(两位数,首位不足补0) 小写 H:小时 带有首位零的 24 小时小时格式 h :小时 带有首位零的 12 小时小时格式 i :带有首位零的分钟 s :带有首位零的秒(00 -59) a:小写的午前和午后(am 或 pm)
$time = date('Y-m-s h:i:s',time());
三、thinkPHP模板使用(转载)
六、使用函数
1.使用函数显示:
{$data.name|md5}
编译后的结果是:
<?php echo (md5($data['name']));?>
2.如果函数有多个参数需要调用,则使用:
{$create_time | data="y-m-d",###}
表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该哦变量是第二个参数,因此需要用###标示变量位置,编译后的结果是:
<?php echo (date('y-m-d',$create_time));?>
3.如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:
{$data.name | substr=0,3}
表示输出
<?php echo (substr($data['name'],0,3)); ?>
也可以使用:
{$data.name|substr=###,0,3} (没有这个必要)
4.还可以支持多个函数过滤,多个函数之间用"|"分割即可,例如:
{$name|md5|strtoupper|substr=0,3}
编译后的结果是:
<?php echo (substr(strtoupper(md5($name)),0,3));?>
函数会按照从左到右的顺序依次调用
还可以直接这样写:
{:substr(strtoupper(md5($name)),0,3)}
七、默认值输出
1.可以给变量输出提供默认值,eg:
{$user.nickname|default="这家伙很懒,什么也没留下"}
2.对系统变量也可以支持默认值输出,eg:
{$Think.get.name|default="名称为空"}
八、使用运算符
对于模板的输出使用运算符,包括对 "+" "-" "*" "/" "%"的支持
注:在使用运算符的时候,不再支持点语法和常规的函数用法
{$user.age+10} //页面会不显示
{$user['age']+10} //会正常的进行运算
————————————————
版权声明:本文为优快云博主「amy889」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/amy889/article/details/84692584
本文介绍了PHP中的json_encode和json_decode函数,展示了如何编码和解码JSON数据,并详细讲解了ThinkPHP模板中使用函数、默认值输出和运算符的方法。此外,还涉及了时间戳处理和模板语法实例。
6617

被折叠的 条评论
为什么被折叠?



