Я имею дело со странной проблемой здесь.У меня есть цикл for
, который проходит через массив, состоящий из различных текстовых строк, предварительно введенных пользователем со следующей предустановкой:
Name
Data1 of Name1
Data2 of Name1
(это продолжается для DataN of NameX
, поскольку данные - это набор свойств, которые выбирает пользователь [т.е. для 11 столбцов требуется до Name + Data10
])
В любом случае, все идет гладко до тех пор, покаминимум в моем тестовом наборе данных, вокруг цикла 400, где вывод массива показывает мне
Name
Пробел
Data1 of Name
Пробелы
Data2 of Name
Когда я проверяю проблемные пользовательские входы, удаляя каждый перед ними и просто вставляя их как единственные входные данные, то есть: Копирование имени и данных 400 и401 и просто вставляя имя и данные 0 и 1, проблем не обнаружено, хотя примерно через 100 циклов следующее Name100 Data1
, похоже, испытывает ту же проблему.
TL; DR - PHP Кажется, что вводит пробельные символыпозиции в моем массиве после N циклов, и, кажется, случайноно неуклонно после нескольких сотен петель.Кто-нибудь может просветить меня?Большое спасибо.
PS - я дважды проверил набор данных, и нет пробелов, в которых они отображаются.
for($i = 0; $i < count($statisticsinput); $i++){
if(strpos($statisticsinput[$i], "Total") !== false){
if($step !== 2){
$step++;
for($k = $i; $k < $i+2*$_POST['columno']; $k++){
unset($statisticsinput[$k]);
}
$statisticsinput = array_values($statisticsinput);
}else{
goto firststepended; //Please don't complain about the GOTO it really was needed.
}
}
if($i % $_POST['columno'] == 0){
$j++;
}
$employees[$j][] = $statisticsinput[$i];
}
firststepended:
Редактировать: Пример ввода по запросу HtmHell:
Name1
14 000
8 133
70 000
104 760
20 952
0
0
7 543
10 476
1º
Name2
9 000
4 796
45 000
34 177
6 835
-3 323
-15 823
0
3 370
2º
В значительной степени это повторяется с разными значениями.Нет точного значения, когда появляются пробелы, они просто делают после нескольких сотен циклов.Строка обрабатывается таким образом, что удаляет все пробелы, если следующая строка не в алфавитном порядке.Они находятся в положениях, где следующая строка не в алфавитном порядке, поэтому они должны были быть удалены, если бы они были в вставленном тексте.Но их нет при вставке.