【问题标题】:syntax in php for 2d matrix which is exactly like that in Cphp 中用于 2d 矩阵的语法与 C 中的语法完全相同
【发布时间】:2015-07-12 04:07:32
【问题描述】:

我想在 php 中创建一个与 C 中的完全一样的二维数组,可以像 mat[i][j] 一样访问它。语法是什么?

以下代码是我试图从 C 转换为 PHP 的代码:

 mat[5][5];
 for(i=0,i<5,i++)
    for (j=0,j<5,j++) {
      mat[i][j]=some value;
    }

【问题讨论】:

  • 你能至少提供一个C语言的例子或代码吗? $mat[$i][$j] = "value"; ?
  • @Ofir Baruch C mat[5][5] 中的类似内容; for(i=0,i
  • 我需要知道如何在 C 中定义这样一个数组,它曾经是简单的 mat[5][5];就是这样,它的php计数器代码是什么?
  • 您不需要;) 您可以即时添加“单元格”(“键”),而无需首先定义“限制”。

标签: php arrays matrix multidimensional-array


【解决方案1】:
 $matrix = array (
   array(1,2,3),
   array(4,5,6),
   array(7,8,9)
  );

是一个二维数组,它构成一个 3*3 矩阵。 $matrix[1][1] 将返回 5

关于你的问题

$mat = array();
   for($i=0,$i<5,$i++)
      for ($j=0$,$j<5,$j++) {
         $mat[$i][$j]=some value;
   }

或者将数组固定到一定的大小

$mat = new SplFixedArray(5);
   for($i=0,$i<5,$i++){
      $mat[$i] = new SplFixedArray(5);
      for ($j=0$,$j<5,$j++) {
         $mat[$i][$j]=some value;
   }
 }

【讨论】:

    【解决方案2】:

    你可以这样做:

    $myArray = [[0,1,2],[3,4,5],[6,7,8]];
    
     for($i=0,$i<count($myArray),$i++) {
      for ($j=0,j<count($myArray[i]),j++) {
         $mat[i][j]=some value;
      }
    }
    

    【讨论】:

      【解决方案3】:

      与 C 不同,在 PHP 中,您不需要定义数组的大小,甚至不需要告诉 PHP 它是一个数组。因此,以下代码将起作用:

      for($i=0,$i<5,$i++) {
          for ($j=0,$j<5,$j++) {
            $mat[$i][$j]= "some value";
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        • 1970-01-01
        • 1970-01-01
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多