Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中使用FOR循环创建二维数组?_Php_Arrays_For Loop - Fatal编程技术网

如何在PHP中使用FOR循环创建二维数组?

如何在PHP中使用FOR循环创建二维数组?,php,arrays,for-loop,Php,Arrays,For Loop,以下是存储数据库中的值的数组: $dataTitle[0] = "TIR"; $dataTitle[1] = "OIL"; $dataTitle[2] = "SPK"; $dataDesc[0] = "Tires"; $dataDesc[1] = "Oil"; $dataDesc[2] = "Spark Plugs"; $dataValue[0] = "100"; $dataValue[1] = "10"; $dataValue[2] = "4"; 我可以使用以下方法手动将数据插入到2D数

以下是存储数据库中的值的数组:

$dataTitle[0] = "TIR";
$dataTitle[1] = "OIL";
$dataTitle[2] = "SPK";

$dataDesc[0] = "Tires";
$dataDesc[1] = "Oil";
$dataDesc[2] = "Spark Plugs";

$dataValue[0] = "100";
$dataValue[1] = "10";
$dataValue[2] = "4";
我可以使用以下方法手动将数据插入到2D数组中,但如果要插入100条或更多行记录,则无法实现此目的。这就是为什么下面的代码需要FOR循环

$ResultView = array(array($dataTitle[0], $dataDesc[0], $dataValue[0]),
                array($dataTitle[1], $dataDesc[1], $dataValue[1]),
                    array($dataTitle[2], $dataDesc[2], $dataValue[2])
               );
如果am使用以下FOR循环,则2D数组仅存储最后一行记录,而忽略了第一行和第二行记录

for ($i=0; $i<=2; $i++) {
          $ResultView = array(array($dataTitle[$i], $dataDesc[$i], $dataValue[$i])
               );
    }

请告知。

如果您的数据来自数据库:您可以在循环时使用

$products        = array();
/* data from first table*/
while($dataTitle = mysql_fetch_assoc($sql)){
   $products[]   = $dataTitle;
} 

/* data from second table*/
while($dataDesc  = mysql_fetch_assoc($sql)){
   $products[]   = $dataDesc;
}

/* data from third table*/
while($dataValue = mysql_fetch_assoc($sql)){
   $products[]   = $dataValue;
}

echo "<pre>";
print_r($products);
$products=array();
/*来自第一个表的数据*/
而($dataTitle=mysql\u fetch\u assoc($sql)){
$products[]=$dataTitle;
} 
/*来自第二个表的数据*/
而($dataDesc=mysql\u fetch\u assoc($sql)){
$products[]=$dataDesc;
}
/*来自第三个表的数据*/
而($dataValue=mysql\u fetch\u assoc($sql)){
$products[]=$dataValue;
}
回声“;
印刷品(产品);

如果您的数据来自数据库:您可以在循环时使用

$products        = array();
/* data from first table*/
while($dataTitle = mysql_fetch_assoc($sql)){
   $products[]   = $dataTitle;
} 

/* data from second table*/
while($dataDesc  = mysql_fetch_assoc($sql)){
   $products[]   = $dataDesc;
}

/* data from third table*/
while($dataValue = mysql_fetch_assoc($sql)){
   $products[]   = $dataValue;
}

echo "<pre>";
print_r($products);
$products=array();
/*来自第一个表的数据*/
而($dataTitle=mysql\u fetch\u assoc($sql)){
$products[]=$dataTitle;
} 
/*来自第二个表的数据*/
而($dataDesc=mysql\u fetch\u assoc($sql)){
$products[]=$dataDesc;
}
/*来自第三个表的数据*/
而($dataValue=mysql\u fetch\u assoc($sql)){
$products[]=$dataValue;
}
回声“;
印刷品(产品);

如果DB结果行以数组的形式返回,那么您应该能够循环遍历结果并将其推送到产品数组中

**Method-1**  Raw method to generate the 2 diamentional array
This is your Array

$products = array( array( 'TIR', 'Tires', 100 ),
array( 'OIL', 'Oil', 10 ),
array( 'SPK', 'Spark Plugs', 4 ),
array( 'SPK', 'Spark Plugs', 4 ));

$cnt=0;
$cnt=count($products);
$product=array();
//假设$results包含您的DB响应
$products=array();
对于($i=0;$i

虽然您的DB结果可以像多维数组一样使用。

如果您的DB结果行作为数组返回,那么您应该能够循环使用结果并将其推送到产品数组中

**Method-1**  Raw method to generate the 2 diamentional array
This is your Array

$products = array( array( 'TIR', 'Tires', 100 ),
array( 'OIL', 'Oil', 10 ),
array( 'SPK', 'Spark Plugs', 4 ),
array( 'SPK', 'Spark Plugs', 4 ));

$cnt=0;
$cnt=count($products);
$product=array();
for($i=0;$i<$cnt;$i++){
for($j=0;$j<3;$j++){
$product[$i][$j]= $products[$i][$j];
}
}


If you are getting data from data base 

for($i=0;$i<mysql_num_rows($result);$i++){
 $products[]=result [$i];
}
//假设$results包含您的DB响应
$products=array();
对于($i=0;$i
虽然您的DB结果可以像多维数组一样使用

for($i=0;$i<$cnt;$i++){
for($j=0;$j<3;$j++){
$product[$i][$j]= $products[$i][$j];
}
}


If you are getting data from data base 

for($i=0;$i<mysql_num_rows($result);$i++){
 $products[]=result [$i];
}
//我正在将数据复制到$product数组

$data[0] = "TIR";
$data[1] = "Tires";
$data[2] = "100";

$data1[0] = "OIL";
$data1[1] = "Oil";
$data1[2] = "10";

$data2[0] = "SPK";
$data2[1] = "Spark Plugs";
$data2[2] = "4";

$resultCount = 3;  // adjust this value for the number of results you have
$products = array();

for ($i = 0; $i < $resultCount; $i++) {
    $products[] = ${'data' . ($i ? $i : '')};
}

print_r($products);
$i=0;$i的

//我正在将数据复制到$product数组

$data[0] = "TIR";
$data[1] = "Tires";
$data[2] = "100";

$data1[0] = "OIL";
$data1[1] = "Oil";
$data1[2] = "10";

$data2[0] = "SPK";
$data2[1] = "Spark Plugs";
$data2[2] = "4";

$resultCount = 3;  // adjust this value for the number of results you have
$products = array();

for ($i = 0; $i < $resultCount; $i++) {
    $products[] = ${'data' . ($i ? $i : '')};
}

print_r($products);

对于($i=0;$i根据您的数组结构,您可以使用

 for ($i=0; $i<=2; $i++) {
      $ResultView[] = array(array($dataTitle[$i], $dataDesc[$i], $dataValue[$i])
           );
       }
$data[0]=“TIR”;
$data[1]=“轮胎”;
$data[2]=“100”;
$data1[0]=“油”;
$data1[1]=“油”;
$data1[2]=“10”;
$data2[0]=“SPK”;
$data2[1]=“火花塞”;
$data2[2]=“4”;
$resultCount=3;//根据您拥有的结果数调整此值
$products=array();
对于($i=0;$i<$resultCount;$i++){
$products[]=${'data'($i?$i:'');
}
印刷品(产品);

根据您的阵列结构,您可以使用

 for ($i=0; $i<=2; $i++) {
      $ResultView[] = array(array($dataTitle[$i], $dataDesc[$i], $dataValue[$i])
           );
       }
$data[0]=“TIR”;
$data[1]=“轮胎”;
$data[2]=“100”;
$data1[0]=“油”;
$data1[1]=“油”;
$data1[2]=“10”;
$data2[0]=“SPK”;
$data2[1]=“火花塞”;
$data2[2]=“4”;
$resultCount=3;//根据您拥有的结果数调整此值
$products=array();
对于($i=0;$i<$resultCount;$i++){
$products[]=${'data'($i?$i:'');
}
印刷品(产品);
成功

  $dataTitle = array('TIR','OIL','SPK');
  $dataDesc=array('Tires','Oil','Spark Plugs'); 
 $dataValue=array('100','10','4');
 for ($i=0; $i<=2; $i++) { 
 $ResultView[] = array(array($dataTitle[$i], $dataDesc[$i], $dataValue[$i])); 
} 
     for ($row=0; $row<=2; $row++) 
     {   
         for ($col=0; $col<=2; $col++) 
         { 
              echo $ResultView[$row][0][$col]."  | "; 
          } 
   echo '<br />'; }
为($i=0;$i成功

  $dataTitle = array('TIR','OIL','SPK');
  $dataDesc=array('Tires','Oil','Spark Plugs'); 
 $dataValue=array('100','10','4');
 for ($i=0; $i<=2; $i++) { 
 $ResultView[] = array(array($dataTitle[$i], $dataDesc[$i], $dataValue[$i])); 
} 
     for ($row=0; $row<=2; $row++) 
     {   
         for ($col=0; $col<=2; $col++) 
         { 
              echo $ResultView[$row][0][$col]."  | "; 
          } 
   echo '<br />'; }

对于($i=0;$i这是最终解

$dataTitle=array('TIR','OIL','SPK');
$dataDesc=阵列(“轮胎”、“机油”、“火花塞”);
$dataValue=array('100','10','4');

对于($i=0;$i这是最终解

$dataTitle=array('TIR','OIL','SPK');
$dataDesc=阵列(“轮胎”、“机油”、“火花塞”);
$dataValue=array('100','10','4');


对于($i=0;$i)您的数据不是任何模式。您是否有任何数据源,例如数据库等?这是一个DB数据的示例。输出为Row1=>TIR |轮胎| 100 Row2=>OIL | OIL | 10 Row3=>SPK |火花塞| 4尝试使用数组|推送()好的。假设我有存储此DB数据的数组。$data[0]=“TIR”、$data[1]=“Tires”、$data[2]=“Tires“100”必须有数据源才能实现您想要的模式您的数据不是任何模式。您是否有任何数据源,例如数据库等?这是DB数据的一个示例。输出为Row1=>TIR |轮胎| 100 Row2=>OIL | OIL | 10 Row3=>SPK |火花塞| 4尝试使用阵列|推送()好的,假设我有一个存储这个DB数据的数组。$data[0]=“TIR”、$data[1]=“TIRS”、$data[2]=“100”“为了实现您想要的模式,必须有数据源,如果我将DB中的数据存储在我问题中提到的数组中,该怎么办?我想使用for循环将数据值数组插入2D数组中?是这样吗possible@user1109161:我真的不明白如何为$data[0]存储3个不同的值(TIR、OIL、SPK),而不使用2D数组。您说:“这是用于存储DB中的值的数组:”,为什么要按所示的方式存储这些值,如果可以显示整个代码(从DB获取、分配给VAR等)会更好,以便我们更好地了解您的问题。因为数据是从不同的表中获取的。因此,最好的方法是首先将它们合并到一个数组中。@user1109161:我更新了答案,如果这对您有帮助,请告诉我。嗨,Prasanth,如果我将DB中的数据存储在我问题中提到的数组中,该怎么办?我想插入使用for循环将数据值数组转换为2D数组?是这样吗possible@user1109161:我真的不明白在不使用2D数组的情况下,如何为$data[0](TIR、OIL、SPK)存储3个不同的值。您说:“这是存储DB中的值的数组:”,为什么要像图中所示的那样存储这些值,最好能显示整个代码(从DB获取、分配给VAR等),这样我们就能更好地了解您的问题。因为数据是从不同的表中获取的。因此,最好的方法是先将它们合并到一个数组中。@user1109161:我更新了answe