您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP怎么往间隔数组中添加数据

2024/2/22 9:44:51发布14次查看
现有一数组如下:
[site003] => array
( [0] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 00 [num] => 1 ) [1] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 04 [num] => 2 ) [2] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 07 [num] => 6 ) )

由于时间shijian字段00到-04点中间没有01,02,03时间点,所以想对01,02,03时间点组装数据的num字段补充为0,
后者04-07中间时间点05,06也对num的时间点补充数组为0
麻烦各路高手指点迷津!小弟在此谢谢!
回复内容: 现有一数组如下:
[site003] => array
( [0] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 00 [num] => 1 ) [1] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 04 [num] => 2 ) [2] => array ( [key] => site003 [riqi] => 2016-06-14 [shijian] => 07 [num] => 6 ) )

由于时间shijian字段00到-04点中间没有01,02,03时间点,所以想对01,02,03时间点组装数据的num字段补充为0,
后者04-07中间时间点05,06也对num的时间点补充数组为0
麻烦各路高手指点迷津!小弟在此谢谢!
首先你需要确定你是否需要插入相关数据以及你插入的数据的方案,如果你不能确定中间缺失的shijian字段的始末的话,需要遍历这个数组去确定,然后将没有的字段加进去,然后用usort进行排序。
也可以在插入的时候决定你插入的位置,但是由于你插入会影响你数组的下标,所以还是上面第一个方法比较方便。
参考代码
$key, 'riqi' => $riqi, 'shijian' => getfullhour($hour), 'num' => 0, ]; } // 排序 // http://php.net/manual/zh/function.usort.php usort($input,function($a,$b){ return (intval($a['shijian']) $value) { $data[$key] = call_user_func($fill_date,$value,$key);}print_r($data);?>
array_map
usort
我说说我理解的思路,首先要先取你这个数组中shijian字段的最大值,然后根据最大值循环填充。
你试下以下方法,
主要采用的思路是:
1.先从给定的数组中过滤出最大的shijian值,同时存储已经存在的时间值,
2.添加小于最大shijian值且不存在数组中的数据
$srcarray = array (array( 'key' => 'site003', 'riqi'=> '2016-06-14', 'shijian' => 00, 'num' => 1, ) ,array ( 'key' => 'site003', 'riqi' => '2016-06-14', 'shijian' => 02, 'num'=> 2 ) ,array ( 'key' => 'site003', 'riqi' => '2016-06-14', 'shijian' => 04, 'num'=> 2 ) ); $data=array(-1); foreach($srcarray as $key=>$innerarray){ array_push($data,$innerarray['shijian']); if($innerarray['shijian'] > $data[0]){ $data[0] = intval($innerarray['shijian']); } } print_r($data); for($index = 0;$index 'site003', 'riqi'=> '2016-06-14', 'shijian' => $index 0, ); array_push($srcarray,$temp); } } print_r($srcarray);
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product