如何在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