I have a function that has input array of lines. Each line has columns array. Iteration whole lines and columns a I try to change column in loop:
<?php
function parseColumns($lines, $regexFunctions)
{
$parsedColumns = [];
foreach ($lines as $line)
{
$lineindex = $line["indexLine"];
$columns = $line["columns"];
$group = $line["group"];
$usedRegexFunctions = [];
foreach ($columns as $columnindex => $column)
{
$value = trim($column["value"]);
$value = replaceTab($value);
$value = replaceSpecialSymbols($value);
$col = array(
"columnindex" => $columnindex,
"lineindex" => $lineindex,
"group" => $group,
"value" => $value,
"valid" => NULL,
"columnname" => NULL,
"columnid" => NULL
);
foreach ($regexFunctions as $validatorId => $validator)
{
$validatorName = $validator["name"];
$validator = $validator["validator"];
if (key_exists($validatorName, $usedRegexFunctions)) continue;
$match = $validator($value);
if ($match)
{
$usedRegexFunctions[$validatorName] = $validatorName;
$col["columnname"] = $validatorName;
$col["columnid"] = $validatorId;
$column["columnname"] = $validatorName;
$column["columnid"] = $validatorId;
break;
}
}
$parsedColumns[] = $col;
}
$_lines[] = $parsedColumns;
}
return $_lines; //$parsedColumns;
}
Problem is on the line, where I detect type of column and try to apply this to current column:
$column["columnname"] = $validatorName;
$column["columnid"] = $validatorId;
After all I dump variable $_lines and can not see changes.
I tried to pass $lines as link &$lines, no effect.