php 算法之如何打印出下图

php中文网
发布: 2016-06-23 13:47:56
原创
1220人浏览过

     自己偶尔看到了下图,于是用php打印出下图。

                      

两种方法解决此问题:

     方法一:根据图分析该图是一个二维数组,可用二维数组解决此类问题,6行就是6个数组,每一行就代表数组有多少个元素。知道每个数组元素的个数,不就可以知道数组中有哪几个元素吗?

           

立即学习PHP免费学习笔记(深入)”;

function array_chunk_vertical($arr, $colun){    $arr_length = count($arr);    $parem = floor($arr_length / $colun);    $pare = $arr_length % $colun;    $ar = array();    for ($i = 0; $i < $colun; $i ++) {        $par = $i == $colun - 1 ? 1 : 5;        $ar[] = $par;    }    $newarray = array();    foreach ($ar as $value) {        for ($i = 0; $i < $value; $i ++) {            $newarray[$i][] = array_shift($arr);        }    }    return $newarray;}$arr = range(1, 31);$data = array_chunk_vertical($arr, 7);foreach ($data as $value) {    foreach ($value as $va) {        printf('[%2s]', $va);    }    echo "<br/>";}
登录后复制

方法二:如代码,先给出size个空数组,在空数组中填充元素。具体方法如下:

<?php function array_chunk_vertical($input, $size, $preserve_keys = FALSE, $size_is_horizontal = false){    $chunks = array();        if ($size_is_horizontal) {        $chunk_count = ceil(count($input) / $size);    } else {        $chunk_count = $size;    }        for ($chunk_index = 0; $chunk_index < $chunk_count; $chunk_index++) {        $chunks[] = array();    }    $chunk_index = 0;    foreach ($input as $key => $value)    {        if ($preserve_keys) {            $chunks[$chunk_index][$key] = $value;        } else {            $chunks[$chunk_index][] = $value;        }                if (++$chunk_index == $chunk_count) {            $chunk_index = 0;        }    }        return $chunks;}$data=range(1,31);$newdata=array_chunk_vertical($data,6);foreach ($newdata as $root){    foreach ($root as $val){        printf('[%2s]',$val);    }    echo "<br/>";}
登录后复制

全能打印神器
全能打印神器

全能打印神器是一款非常好用的打印软件,可以在电脑、手机、平板电脑等设备上使用。支持无线打印和云打印,操作非常简单,使用起来也非常方便,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号