自己没事重写了array_chunk函数,纯属娱乐

本文介绍了一个名为 jarray_chunk 的 PHP 函数实现,该函数可以将一个数组分割为指定大小的多个子数组,并提供了保持原始键值的功能。通过具体示例展示了如何使用此函数。
/**
 * @name jarray_chunk
 * @author jiang kejun <jinhua_k9@163.com>
 *
 * @param array $input
 * @param int $size
 * @param bool $preserve_keys
 * @return array
 */
function jarray_chunk(array $input, $size, $preserve_keys=false)
{
	//第一层数组的个数
	$no = ceil(count($input) / $size);
	$result = array();
	if ($size == 0)
	{
		return $input;
	}
	//start
	elseif ($size > 0)
	{
		//赋值
		foreach ($input AS $key=>$vl)
		{
			/* 确定在第几区间 */
			$area = ceil(abs(($key+1)/$size))-1;
					
			$k = $preserve_keys == false ? $key%$size : $key;

			$result[$area][$k] = $vl;
		}
			
		return $result;
	}
	//end
}
	
$input = array('a', 'b', 'c', 'd', 'e');
print_r(jarray_chunk($input, 2));
print_r(jarray_chunk($input, 2, true));
"C:\Program Files\Python39\python.exe" "D:\AEB Management\9.py\BSW_JIRA_deal\bsw_task_jira_deal.py" 2025-11-24 17:48:11,032 - INFO - 从 jira_task_bsw 读取数据,写入 jira_task_bsw_deal 2025-11-24 17:48:11,600 - INFO - 成功添加所有分析列 2025-11-24 17:48:11,600 - ERROR - 数据处理失败: string indices must be integers 2025-11-24 17:48:11,606 - ERROR - Traceback (most recent call last): File "D:\AEB Management\9.py\BSW_JIRA_deal\bsw_task_jira_deal.py", line 433, in process_and_write_data processed_chunk = assign_responsibles(processed_chunk, config_path) File "D:\AEB Management\9.py\BSW_JIRA_deal\bsw_task_jira_deal.py", line 359, in assign_responsibles dataframe['Responsible'], dataframe['Email'] = zip(*dataframe['Project key'].apply(get_responsible_and_email)) File "C:\Users\dong004\AppData\Roaming\Python\Python39\site-packages\pandas\core\series.py", line 4936, in apply return SeriesApply( File "C:\Users\dong004\AppData\Roaming\Python\Python39\site-packages\pandas\core\apply.py", line 1422, in apply return self.apply_standard() File "C:\Users\dong004\AppData\Roaming\Python\Python39\site-packages\pandas\core\apply.py", line 1502, in apply_standard mapped = obj._map_values( File "C:\Users\dong004\AppData\Roaming\Python\Python39\site-packages\pandas\core\base.py", line 925, in _map_values return algorithms.map_array(arr, mapper, na_action=na_action, convert=convert) File "C:\Users\dong004\AppData\Roaming\Python\Python39\site-packages\pandas\core\algorithms.py", line 1743, in map_array return lib.map_infer(values, mapper, convert=convert) File "pandas/_libs/lib.pyx", line 2999, in pandas._libs.lib.map_infer File "D:\AEB Management\9.py\BSW_JIRA_deal\bsw_task_jira_deal.py", line 357, in get_responsible_and_email return config["Default"].get("Responsible", "Unassigned"), config["Default"].get("Email", "") TypeError: string indices must be integers 2025-11-24 17:48:11,613 - INFO - 数据处理完成,共写入 0 条记录 进程已结束,退出代码为 0
最新发布
11-25
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值