json 数据类型、时间与时间戳

json 数据类型

  • json 数据格式

json 数据由一个{}包裹,通过 key:value 的方式传值,其中 key 与 value 需要加英文双引号,且每组数据之间要用英文逗号隔开

  • json 数据值类型

json 数据的值跟数组一样可以有:数值、字符串、布尔值、数组。对象、null 等多种类型

  • json 字符串转数组

php 中并没有对应 json 的直接格式,都是把 json 来当做字符串进行处理的。通过 json_decode 可以把一个 json 字符串转为对象或者数组。

  1. $json = '{
  2. "workbench.iconTheme": "file-icons",
  3. "editor.fontSize": 16,
  4. "editor.defaultFormatter": "esbenp.prettier-vscode",
  5. "editor.formatOnSave": true,
  6. "files.autoSave": "onFocusChange",
  7. "javascript.updateImportsOnFileMove.enabled": "always",
  8. "window.zoomLevel": 2,
  9. "php.validate.executablePath": "D:/phpstudy_pro/Extensions/php/php8.0.2nts/php.exe"
  10. }';
  11. echo '<pre>';
  12. print_r(json_decode($json));
  13. // 输出内容:
  14. // stdClass Object
  15. // (
  16. // [workbench.iconTheme] => file-icons
  17. // [editor.fontSize] => 16
  18. // [editor.defaultFormatter] => esbenp.prettier-vscode
  19. // [editor.formatOnSave] => 1
  20. // [files.autoSave] => onFocusChange
  21. // [javascript.updateImportsOnFileMove.enabled] => always
  22. // [window.zoomLevel] => 2
  23. // [php.validate.executablePath] => D:/phpstudy_pro/Extensions/php/php8.0.2nts/php.exe
  24. // )
  • 数组转 json 字符串

使用 php 从数据库中获取数据后,我们需要将其转为 json 数据,返回给需要调取我们接口的人,他们才能使用。返回 json 数据之前,或在代码顶部,可以设置字符集标明这是一个 json 数据:header(Content-Type:application/json),使用 json_encode 可以把一个对象或数组转为 json 字符串。

时间与时间戳

php 中能按照日期时间进行处理,但还是字符串的分类。

使用 getdate()函数可以获取当前日期的详细信息,获取的信息会以一个关联数组的形式呈现,也可以通过下标获取其中的每条信息,并重新进行组装。

但是会有一个问题,就是日期跟时间是不好进行计算的,我们可以使用时间戳 time()来对时间进行运算,时间戳的值是从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数,每过一秒,时间戳的数值就会加 1

当获取到的日期时间是一个日期格式,可以使用 strtotime()函数,将其转为时间戳来运算,当运算完毕或者给用户展示时,可以使用 date()函数将时间戳格式化为日期

  1. $time1 = getdate();
  2. $time2 = time();
  3. $time3 = strtotime($time1['year'] . '-' . $time1['mon'] . '-' . $time1['mday']);
  4. $time4 = date('Y-m-d', $time2);
  5. print_r($time1);
  6. echo '<hr>';
  7. echo $time2;
  8. echo '<hr>';
  9. echo $time3;
  10. echo '<hr>';
  11. echo $time4;
  12. // 最终输出:
  13. // Array ( [seconds] => 58 [minutes] => 32 [hours] => 15 [mday] => 22 [wday] => 5 [mon] => 10 [year] => 2021 [yday] => 294 [weekday] => Friday [month] => October [0] => 1634916778 )
  14. // 1634916778
  15. // 1634860800
  16. // 2021-10-22

更多相关文章

  1. Linux命令中的find命令
  2. 简单入门PHP中的多字节字符串操作
  3. 小白学Python:Python的基本数据类型
  4. PHP中的国际化日历类
  5. 如何通过PHP查找给定字符串中的第一个非重复字符
  6. PHP运算符、赋值运算符、动态表格
  7. php一招搞定替换指定字符(大小写不敏感)
  8. 详细介绍php替换指定字符的方法(大小写敏感)
  9. PHP 【环境;变量;数据类型】

随机推荐

  1. android触摸事件处理流程
  2. C#、Golang、Python、Java(Android)之间Des
  3. 学习android两年后有感
  4. Android TextView设置个别字体样式
  5. Andy Rubin 说:「市场上」有约 600 万台 A
  6. Android studio下gradle Robolectric单元
  7. 新书内容连载(3):Android SDK中常用命令行工
  8. [书目20101207]Google Android开发入门与
  9. android内存处理机制
  10. Android的异步(Thread、Handler、AsyncTas