Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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中使用循环定义2D数组_Php_Arrays_Loops_Multidimensional Array - Fatal编程技术网

在php中使用循环定义2D数组

在php中使用循环定义2D数组,php,arrays,loops,multidimensional-array,Php,Arrays,Loops,Multidimensional Array,我有一个数组$rows,其中每个元素是由15个制表符分隔的值组成的行。我想将$rows分解成一个二维数组$rowData,其中每一行都是一个数组元素,每个制表符分隔的值都被分配给不同的数组元素。我试过这两种方法都没有成功。我知道第一个有一个编码错误,但我不知道如何纠正它。任何帮助都将是惊人的 for ($i=0; $i<count($rows); $i++){ for ($j=0; $j<15; $j++){ $rowData = array([$i] => a

我有一个数组
$rows
,其中每个元素是由15个制表符分隔的值组成的行。我想将
$rows
分解成一个二维数组
$rowData
,其中每一行都是一个数组元素,每个制表符分隔的值都被分配给不同的数组元素。我试过这两种方法都没有成功。我知道第一个有一个编码错误,但我不知道如何纠正它。任何帮助都将是惊人的

for ($i=0; $i<count($rows); $i++){
    for ($j=0; $j<15; $j++){
    $rowData = array([$i] => array (explode("   ", $rows[$j])));
    }  
}  

foreach ($rows as $value){
    $rowData = array( array (explode("  ", $rows[$value])));  
}
$i=0;$i的

就是你似乎不知道你所写的不同的东西到底意味着什么


对array()的调用返回一个包含指定元素的新数组。因此
array(explode(“,$rows[$j])
生成一个包含单个元素的数组,即
explode()
返回的数组。您正在对
array()的另一个调用中包装该数组
,指定循环变量
$i
作为对应于该元素的键。此外,您正在使用赋值符号
=
,这意味着每次通过循环时,
$rowData
都会被完全覆盖-您想要的是在不删除旧元素的情况下向其添加新元素。

T谢谢你的解释,我愚蠢地没有意识到我甚至调用了一个array()函数。非常有用!
$rowData = array();
foreach($rows as $value) {
  $rowData[] = explode("\t", $value);
}
for ($j=0; $j<15; $j++) {
    $rowData[$j] = explode("\t", $rows[$j]);
}
$rowData = array([$i] => array (explode("   ", $rows[$j])));