需要使用php

时间:2015-09-01 04:30:51

标签: php

我正在尝试使用表格文本为我的脚本创建一个漂亮的UI,因此它更容易查看它,但如果所有数据都不相同,那么它就不能正确对齐。有可能解决这个问题吗?

这是我的代码:

<?php
$array = array("Test 4:Test 22222", "Test 673633:Test 9383838383");

echo "______________________________________________________________\n";
foreach ($array as $arr){
$split = explode(":",$arr);
echo "| $split[0]          |         $split[1]    |\n";
echo "______________________________________________________________\n";
}

?>

我得到的结果:......

______________________________________________________________
| Test 4          |         Test 22222    |
______________________________________________________________
| Test 673633          |         Test 9383838383    |
______________________________________________________________

我想要的结果:

______________________________________________________________
| Test 4               |         Test 22222         |
______________________________________________________________
| Test 673633          |         Test 9383838383    |
______________________________________________________________

2 个答案:

答案 0 :(得分:0)

不要通过简单的文本来做,而是使用一些html和css来做它像

    <?php
    $array = array("Test 4:Test 22222", "Test 673633:Test 9383838383");
    foreach ($array as $arr){
    $split = explode(":",$arr);
    echo "<label class='key'>$split[0]</label><label class='value'>$split[1]</label><br/>";
    }

CSS

    .key {
        border: 1px solid grey;
        width: 120px;
    }
    .value {
        border: 1px solid grey;
        width: 300px;
    }

然后,您可以为类Keyvalue添加样式以在其周围添加边框,并为这两个类添加修复宽度                  .key {border:1px solid grey; width:120px}         .value {border:1px solid grey; width:300px}         

答案 1 :(得分:0)

使用str_pad(),只需要玩弄距离。现在距离设置为20,因此它会填充直线,直到它达到此距离并带有您选择的字符

<?php
$array = array("Test 4:Test 22222", "Test 673633:Test 9383838383");
$distance = 20;
echo "______________________________________________________________\n";
foreach ($array as $arr){
 $split = explode(":",$arr);
 echo "|  ".str_pad($split[0], $distance, ' ', STR_PAD_RIGHT)."|  ".str_pad($split[1], $distance, ' ', STR_PAD_RIGHT)."|\n";
 echo "______________________________________________________________\n";
}

?>