z型字符串转换(算法)

《z型字符串转换(算法)》

<?php header("Content-type:text/html;charset=utf-8"); /** * 处理最小周期内的字符串 * @author syh * @param array $arr 最小处理数组 * @param int $t_num 每个周期内字符串个数 * @return array */ function fun($arr,$t_num) { // 如果不够最小周期补空串 if (count($arr)<$t_num) { $arr_new=array_fill(0,$t_num-count($arr), ''); $arr=array_merge($arr,$arr_new); } $i=0; $list[$i]=array_shift($arr); while (count($arr)>0) { $i++; // 合并最小周期内同行内的字符串 $list[$i]=array_shift($arr).array_pop($arr); } return $list; } /** * 主程序 * @author syh * @param string $str 字符串 * @param string $rows 行数 * @return array */ function main($str,$rows) { $num=2*$rows-2;//每个周期里的字符个数 $arr=array_chunk(str_split($str),$num);//分割数组 for ($i=0; $i <=$rows; $i++) { foreach ($arr as $key => $value) { $list=fun($value,$num); @$list_new[$i].=$list[$i]; } } return implode(' ',$list_new); } $str='abcdefghijklmnopqrstuvwxyz'; $str_new=main($str,4); //4行 var_dump($str_new); ?>
    原文作者:Z字形编排问题
    原文地址: https://blog.csdn.net/qq_18697803/article/details/56284603
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞