str_split函数能实现你这样的功能,把字符串按没咐岩长度分割为数组,例如:
专业从事企业网站建设和网站设计服务,包括网站建设、空间域名、虚拟主机、企业邮箱、微信公众号开发、微信支付宝微信小程序、app软件开发、软件开发、等服务。公司始终通过不懈的努力和以更高的目标来要求自己,在不断完善自身管理模式和提高技术研发能力的同时,大力倡导推行新经济品牌战略,促进互联网事业的发展。
?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?
代码输出的结果如下:
Array
(
[0] = H
[1] = e
[2] = l
[3] = l
[4] = o
[5] =
[6] 简腊= F
[7] = r
[8] = i
[9] = e
[10] = 枯御n
[11] = d
)
Array
(
[0] = Hel
[1] = lo
[2] = Fri
[3] = end
)
大致思路
1)取份数的平均值
2)根据允许的各份数间最大差值,动态调整随机数范围,形成各份的数量
3)最后一份的数量由前面已经分出的决定,以保证各份的总和为指定值
代码如下:
?php
$total = 100; //待划分的数字
$div = 5; //分成的份数
$area = 10; //各份数间允许的最大差值
$average = round($total / $div);
$sum = 0;
$result = array_fill( 1, $div, 0 );
for( $i = 1; $i $div; $i++ ){
//根据已产生的随机数情况,调整新随机数范围,以保证各份间差值在指定范围内
if( $sum 0 ){
$max = 0;
$min = 0 - round( $area / 2 );
}elseif( $sum 0 ){
$min = 0;
$max = round( $area / 2 );
}else{
$max = round( $area / 2 );
$min = 0 - round( $area / 2 );
}
//产生各份的份额
$random = rand( $min, $max );
$sum += $random;
$result[$i] 胡顷= $average + $random;
}
//最后一份的份额由乎咐前面的结果决定,以保证各份的总和为指定值
$result[$div] = $average - $sum;
//结果呈现
echo '划分情况:br';
foreach( $result as $temp ){
echo $temp, 'br'裤顷陆;
}
echo '总和:', array_sum( $result );
exit;
?
答案:你一定是在寻找 array_chunk 函数 :-)
准确地说,这个函旦迹洞数就是用于将数组进行分块切割。举一个简单的示例:
数组分块
array_chunk 函数是对数州姿组进行模枯定长分块,输出的结果如下:
自动重排索引
第二种情况,是保留原索引:
保留索引
以上。