この質問は私の以前の質問に似ていますが、私はそれを間違って定式化しました。私は非常に申し訳ない; ここに実際の問題があります。
何千もの数字が互いに下にあるファイルがあります。これを使用して単純化しましょう。
4
7
1
9
3
3
8
6
2
6
5
1
私が必要とするのは、可変数の行列行を持つ行列を (配列の形式で) 出力することです。ファイルからの数値は、最初の数値を最初の行に、2 番目の数値を 2 番目の行に、というように行に分割する必要があります。 2 番目の数値、およびその後の 4 番目ごとの数値は、列 2 などです。以下の例では、行数は 3 です。
array (
[0] => 4,9,8,6
[1] => 7,3,6,5
[2] => 1,3,2,1
)
この例では、行数は 4 です。
array (
[0] => 4,3,2
[1] => 7,3,6
[2] => 1,8,5
[3] => 9,6,1
)
行数は可変です。
現在、Oscar Jaraの助けを借りて、次のようになりました。
$path = "data.csv";
$array = explode("\n", file_get_contents($path));
$numbers = array();
foreach(array_chunk($array, 3) as $number){
$numbers[] = implode(",", $number);
}
しかし、これはファイルからの数値を列ではなく行に出力します:
array (
[0] => 4,7,1
[1] => 9,3,3
[2] => 8,6,2
[3] => 6,5,1
)
このコードを列に分割するように変換すると、混乱します。そうでない場合は、どんな助けでも大歓迎です。