PHP数组键不存在给默认值

1、需求:添加数据到数据表
2、已知:数据表的字段有 color,name,age,hobby。
3、问题:待添加的数据为二维数组,但是一维数组中有些字段可能不存在。
4、思路:把没有的字段值设置为空(并把一维数组的键升序排序(我这里封装的插入方法:一维数组里键顺序不一致时会出问题,插入的字段混乱,对不上))。

5、代码

public function insertData(){$data = [['color' => '红色','age' => 18,'name' => '张三'],['color' => '绿色','hobby' => '跑步','age' => 15,'name' => '李四'],['name' => '王五','color' => '蓝色','age' => 18,],];$field = ['color', 'name', 'age', 'hobby'];foreach ($data as $key => &$value){$valueKeys = array_keys($value);//获取数据中没有的键名$diffKeys = array_diff($field, $valueKeys);if($diffKeys){  //如果存在缺失的键名,给键名赋值为空''foreach ($diffKeys as $v){$value[$v] = '';}}ksort($value);  //把数据根据键升序排序,保持索引}var_export($data);exit();
}

6、打印:

array (0 =>array ('age' => 18,'color' => '红色','hobby' => '','name' => '张三',),1 =>array ('age' => 15,'color' => '绿色','hobby' => '跑步','name' => '李四',),2 =>array ('age' => 18,'color' => '蓝色','hobby' => '','name' => '王五',),
)

PHP数组键不存在给默认值相关推荐

  1. SQL DDL 生成建表语句(可自动生成主键约束,字段默认值等)

    --获取建表DDL(+主键) declare @tabname varchar(50) set @tabname='sys_log'--表名if ( object_id('tempdb.dbo.#t' ...

  2. python字典默认输出键还是值_说说在 Python 字典中如何在读取不存在的键时得到一个默认值...

    如果有方法能够在 Python 字典类型中,当读取不存在的键时能够得到一个默认值,那么代码就会变得更加直观.通过 defaultdict 类型可以实现这个目的1. 我们来改写一个 "输出单词 ...

  3. java注解封装默认值_Java注解默认值

    可以为注解中的元素定义默认值.不需要为带有默认值的注解元素提供值. 默认值可以使用以下一般语法定义: @interface { () default ; } 关键字default指定默认值.默认值必须 ...

  4. mysql创建表的时候日期给个默认值_mysql 创建表时 日期字段默认值为当前时间...

    mysql 创建表时 日期字段默认值为当前时间 mysql version 5.1 在mysql创建表的时候经常会遇到创建日期字段需要设置当前时间为默认值的时候,就如sqlserver2000一样,把 ...

  5. ES6函数参数的解构赋值,以及2种设置参数默认值方法的区别

    文章目录 1. 函数参数的解构赋值方式 2. 函数参数解构设置参数默认值 1. 方法1 2. 方法2 3. 总结 1. 函数参数的解构赋值方式 下面代码中,函数add的参数表面上是一个数组,但在传入参 ...

  6. java默认值_java 基本数据类型初始值(默认值)

    1.int类型定义的数组,初始化默认是0 2.String类型定义的数组,默认值是null 3.char类型定义的数组,默认值是0对应的字符 4.double类型定义的数组,默认值是0.0 5.flo ...

  7. bool类型数组转换成一个整数_「PHP」常用的数组键值操作函数,面试重点

    数组键值操作函数 1.array_values ( array $array ) : array 返回数组中所有的值的数组 $a=['name'=>'jikeshiguangji','age'= ...

  8. php 数组键值重置之sort函数

    sort函数默认只会对数组键值从0开始重置,不会对数组之前键值就行排序后在重置 $arr=array('8'=>'name1','10'=>'name2'); sort($arr); pr ...

  9. PHP数组键值双引号单引号区别

    一.$myarray['key'] 与 $myarray["key"] 与 $myarray[key]的差别: 以上三种方式主要是通过字符串类型数组下标即数组键访问数组的值,如果数 ...

  10. php 数组键值分离,array_keys array_values::PHP数组键名于键值分离

    在PHP的数组中,如果你想将数组中所有键值提取出来组成一个新的数组,可以使用array_keys 函数. 函数用法如: 分离出数组键名array_keys(array,value) W3C中是这样介绍 ...

最新文章

  1. 3D人脸重建和人脸分析常用的数据集汇总
  2. 调查:台湾上班族讨厌5种年会状况 最怕老板致词长
  3. Linux系统日志级别
  4. sql语句中的 inner join 、 left join 、 right join、 full join 的区别
  5. 最简单的基于JavaEE和FFmpeg的视频网站
  6. eclipse 创建maven web项目_Eclipse创建第一个Scala项目(过程)
  7. JEECG 3.7.1 非Maven版本源码下载,企业级JAVA快速开发平台
  8. 前端Cookie处理
  9. 软件测试岗位,BAT大厂面试题集锦
  10. java7 新特性官方介绍_java7 新特性 总结版
  11. android studio for android learning (十一) 利用bundle在activity之间进行数据传递示例
  12. ChartControl控件绘制折线图
  13. linux禁止访问国外ip,Shell脚本实现防止国外ip访问服务器
  14. 雪亮工程视频点位地图采集
  15. css设置内外边距,css内外边距属性
  16. 【EDM邮件营销】独立站卖家如何通过用户标签提高EDM邮件打开率
  17. 数据的对齐(alignment)
  18. 读《断舍离》山下英子
  19. 开源、强大的Linux服务器集群管理工具,比宝塔好用!
  20. Python实现 文本进度条展示(嵩天老师)

热门文章

  1. sublime实用快捷键 mac版
  2. 【解题报告】表达式求值(栈,表达式树)
  3. 使用pyinstaller讲python文件打包成exe文件运行时,弹出命令行界面
  4. 计算机网络中采用最基本的多路复用技术是,2013年华南理工-计算机网络技术试题...
  5. html 字符串 放到webbrowser,delphi 直接将html字符串读入WebBrowser中
  6. 一周学会php 视频,一周学会PHP视频 普通下载
  7. localhost 和ip 地址访问的html页面样式不一样_搭建一个弹幕查询页面(1)
  8. php 压缩 解压文件,PHP 实现文件压缩解压操作的方法
  9. 图:经过艰苦的代码收官阶段,我的抽奖软件作品终于完工,大家欣赏.从我个人的自我判断来看,其它的抽奖软件都是浮云...
  10. 排行榜或颁奖界面有时出现名字等项目上下错位,为什么?