<?php
/**
* 系统辅助类
* @date 2019年7月2日
* @comment
*
*/
class SystemUtils
{
private static $_instance;
private function __construct()
{
}
public static function getInstance()
{
if( null == self::$_instance )
{
self::$_instance = new self();
}
return self::$_instance;
}
/**
* 按照指定数量分块
* @datetime 2019年7月2日 下午5:50:55
* @comment
*
* @param unknown $data
* @param number $num
* @return array
*/
public function split( $data, $num = 5 )
{
$arrRet = array();
if( !isset( $data ) || empty( $data ) )
{
return $arrRet;
}
$iCount = count( $data )/$num;
if( !is_int( $iCount ) )
{
$iCount = ceil( $iCount );
}
else
{
$iCount += 1;
}
for( $i=0; $i<$iCount;++$i )
{
$arrInfos = array_slice( $data, $i*$num, $num );
if( empty( $arrInfos ) )
{
continue;
}
$arrRet[] = $arrInfos;
unset( $arrInfos );
}
return $arrRet;
}
}
示例数码:
$data = array( 1,2,3,4,5,6,7,8,9,10, 100 );
$util = SystemUtils::getInstance();
$res = $util->split( $data, 2 );
echo '<pre>';
var_dump( $res );
echo '</pre>';
exit;
示例结果:
array(6) {
[0]=>
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
[1]=>
array(2) {
[0]=>
int(3)
[1]=>
int(4)
}
[2]=>
array(2) {
[0]=>
int(5)
[1]=>
int(6)
}
[3]=>
array(2) {
[0]=>
int(7)
[1]=>
int(8)
}
[4]=>
array(2) {
[0]=>
int(9)
[1]=>
int(10)
}
[5]=>
array(1) {
[0]=>
int(100)
}
}