【问题标题】:How to declare 2d matrix array PHP如何声明二维矩阵数组 PHP
【发布时间】:2017-10-28 03:45:00
【问题描述】:

这是一段应该声明 2D 数组的 PHP 代码。

$array = array(
    range(1, 4), 
    range(1, 4)
);

print_r($array);

应该是这样的:

但是输出是: Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) [1] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) )

那我做错了什么?如何将\display 声明为矩阵二维数组?

【问题讨论】:

  • @splash58 请不要将答案发布为 cmets。请将您的方法作为答案发布,这样读者就不必检查 cmets 以获得所有可能的解决方案。

标签: php arrays matrix multidimensional-array


【解决方案1】:

您仅将范围添加到前 2 个索引。

$array = array(
 range(1, 4), 
 range(1, 4),
 range(1, 4), 
 range(1, 4)
);

如果你想要更好的选择:

$matrix=  array();

foreach (range(1,4) as $row) {
 foreach (range(1,4) as $col) {
  $matrix[$row][$col] = "some val";
 }
}


print_r($matrix);

用于 HTML 输出

<table border="1">
<?php foreach (range(1,4) as $row) { ?>
<tr>
<?php foreach (range(1,4) as $col) { ?>
<td><?php echo $row.$col; ?></td>
<?php  } ?>
</tr>
<?php } ?>
</table>

【讨论】:

  • 好的,我知道了,但是你能帮我把这个输出成图片吗?
【解决方案2】:

PHP doc 评论中找到了一个(更短的)替代方案。有趣的是它是一个单行,4 可以被一个变量替换:

$array = array_fill(1, 4, array_fill(1, 4, ''));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2020-03-19
    • 2022-01-15
    • 2010-12-21
    • 1970-01-01
    • 2011-04-18
    • 2013-05-05
    相关资源
    最近更新 更多