如何纠正打印2D数组

时间:2016-01-30 20:32:55

标签: php oop

我创建了一个二维数组

class MyArray
{
    public $arr=array();

    public function create()
    {
        for($i=0;$i<=4;$i++)
        {
            for($j=0;$j<=4;$j++)
            {
                $this->arr[$i][$j]=0;
            }
        }
    }

    public function print()
    {
        for($i=0;$i<5;$i++)
        {
            for($j=0;$j<5;$j++)
            {
                echo $this->arr[$i][$j] . " ";
            }
        }
    }
}

$arr1= new MyArray();
$arr1->create();
$arr1->print();

但是当我显示它时看起来像这样:

  

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

如何做到这一点:

  

0 0 0 0 0
    0 0 0 0 0
    0 0 0 0 0
    0 0 0 0 0
    0 0 0 0 0

3 个答案:

答案 0 :(得分:1)

只需在内部<br />循环后添加for标记,如下所示:

public function print(){
    for($i=0;$i<5;$i++){
        for($j=0;$j<5;$j++){
            echo $this->arr[$i][$j] . " ";
        }
        echo "<br />";
    }
}

答案 1 :(得分:0)

由于我无法知道您是否正在制作网页,因此您需要echo / print换行符\n或HTML中断(<br><br />)成为MyArray::print外循环中的第二个语句,具体取决于上下文(HTML5或HTML 4.01 / XHTML 1.0)。

答案 2 :(得分:0)

这是单行打印,因为您没有使用换行符 您需要在另一个for循环中添加<br>,如下所示:

public function print(){
 for($i=0;$i<5;$i++){
    for($j=0;$j<5;$j++){
        echo $this->arr[$i][$j] . " ";
    }
    echo "<br />";
 }
}