php:将子数组更改为父数组

php:将子数组更改为父数组,php,arrays,Php,Arrays,我从一些代码生成了一个数组: if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) { $nn = 0; while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) { $targetData = array(); foreach($targetColumns as $column)

我从一些代码生成了一个数组:

if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) {
    $nn = 0;
    while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) {
        $targetData = array();                 
        foreach($targetColumns as $column)      
        $targetData[] = $data[$column]; 
        $csvarray[$nn] = $targetData;
        $nn++;
    }
    fclose($handle);
}
这给了我这个输出:

Array
(
  [0] => Array
    (
        [0] => "92834029"
    )
  [1] => Array
    (
        [0] => "32926154"
    )
  [2] => Array
    (
        [0] => "84892302"
    )
  [3] => Array
    (
        [0] => "10499507"
    )
)
如何取消多维数组,而使其成为一个干净的简单父数组

Array
(
  [0] => 92834029
  [1] => 32926154
  [2] => 84892302
  [3] => 10499507
)

在您的情况下,将其更改为以下内容将起作用:

if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) {        
    while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) {              
        foreach($targetColumns as $column) {          
            $csvarray[] = $data[$column];
        }
    }
    fclose($handle);
}

也可以随意删除不必要的内容。

在您的情况下,将其更改为以下内容将起作用:

if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) {        
    while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) {              
        foreach($targetColumns as $column) {          
            $csvarray[] = $data[$column];
        }
    }
    fclose($handle);
}
也可以随意删除不必要的内容。

尝试这样做:

if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) {
  $nn = 0;
  while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) {
    foreach($targetColumns as $column)      
    $targetData = $data[$column]; 
    $csvarray[$nn] = $targetData;
    $nn++;
  }
  fclose($handle);
}
不管怎样,
=array()
总是将
$targetData
设置为“空”。或者直接用
$csvarray[$nn]=$data[$column]分配它

尝试这样做:

if (($handle = fopen('/var/tmp/file.tsv', 'r')) !== FALSE) {
  $nn = 0;
  while (($data = fgetcsv($handle, 1000, '/t')) !== FALSE) {
    foreach($targetColumns as $column)      
    $targetData = $data[$column]; 
    $csvarray[$nn] = $targetData;
    $nn++;
  }
  fclose($handle);
}

不管怎样,
=array()
总是将
$targetData
设置为“空”。或者直接用
$csvarray[$nn]=$data[$column]分配它

您的意思是要更改此选项:$targetData[]=$data[$column]$csvarray[$nn]=$targetData;对此:$csvarray[$nn]=$data[$column]@busypeoples的修复成功了!谢谢,非常感谢。你的意思是想更改此选项:$targetData[]=$data[$column]$csvarray[$nn]=$targetData;对此:$csvarray[$nn]=$data[$column]@busypeoples的修复成功了!谢谢,非常感谢。