Когда я объединял 4 массива в 1 массив, он делал ключи [0] — [9] 4 раза вместо того, чтобы переходить от [0] к [34].
Файл, с которым я работаю, представляет собой файл .txt со следующим содержимым (всего 4 строки со случайным текстом):
gghondxs
vishfgfh
magiedhv
bvmdomvb
<form method="post" action="index.php" enctype="multipart/form-data">
<input class="file-choise" name="file" type="file" />
<input class="upload-button" type="submit" value="Upload Bestand" />
</form>
$file = fopen($_FILES['file']['tmp_name'], "rb");
$linearray = array();
$workingarray = array();
while(! feof($file)) {
$line = fgets($file);
echo "$line<br>";
$linearray[] = (str_split("$line"));
}
$workingarray[] = array($linearray,"endline");
print_r($workingarray);
Вывод, который я получаю, следующий;
Array ([0] => Array ([0] => Array ([0] => Array ([0] => g [1] => g)
[2] => h [3] => o [4] => n [5] => d [6] => x [7] => s [8] => [9] =>)
[1] => Массив ([0] => v [1] => i [2] => s [3] => h [4] => f [5] => g
[6] => f [7] => h [8] => [9] =>) [2] => Массив ([0] => m [1] => a [2] => g [3] => i [4] => e [5] => d [6] => h [7] => v [8] => [9] =>) [3] => Массив ([0] => b [1] => v [2] => m [3] => d [4] => o [5] => m [6] => v [7] => b [ 8] => [9] =>) [4] => Array ([0] =>)) [1] => endline))
Я хочу, чтобы это выглядело так
Array ([0] => Array [0] => g [1] => g [2] => h [3] => o [4] => n [5] => d [6] => x [7] => s [8] => v [9] => i [10] => s [11] => h [12] => f [13] => g [14] => f [15] => h [16] => m [17] => a [18] => g [19] => i
[20] => e [21] => d [22] => h [23] => v [24] => [25] => b [26] => v
[27] => m [28] => d [29] => o [30] => m [31] => v [32] => b [33] =>
[34] => конец строки))
Может ли кто-нибудь помочь мне достичь этого?
Спасибо
<?php
$file = fopen($_FILES['file']['tmp_name'], "rb");
$linearray = array();
$workingarray = array();
while(! feof($file)) {
$line = fgets($file);
echo "$line<br>";
$line = str_split(trim($line));
$linearray = array_merge($linearray, $line);
// $linearray = array_merge($linearray, $line, array("endline")); Include endline after each actual line.
}
$workingarray[] = $linearray;
var_dump($workingarray);
$workingarray = call_user_func_array('array_merge', $workingarray);
Можете ли вы использовать слияние массивов?
$linearray[] = array_merge( $linearray, str_split("$line") );
Просто добавьте одну строку в ваш существующий код: —
$workingarray[] = array($linearray,"endline");
// This is a new line
$workingarray = array_values($workingarray);
print_r($workingarray);
array_values () сгенерирует индекс ключа в вашем массиве, начиная с 0.