public function transform($target) { $this->selector->lines = array(); $cols = $this->selector->cols; $col = $this->col; $callback = $this->operationCallback; $this->callback = function ($v) use($cols, $col, $callback) { $dehydrated = array(); $n = 0; foreach ($v as $key => $vCol) { if (($n === $col || $key == $col) && is_array($vCol)) { $nn = 0; $vCol = $callback ? $callback($vCol) : $vCol; foreach ($vCol as $cn => $cv) { $dehydrated[$cn] = $cv; $n++; } } $n++; } foreach ($v as $key => $vCol) { if ($n !== $col && $key != $col || !is_array($vCol)) { $dehydrated[$key] = $vCol; } $n++; } return $dehydrated; }; return parent::transform($target); }
public function transform($target) { $name = $this->name; $this->selector->lines = array(); $cols = $this->selector->cols; $callback = $this->operationCallback; $this->callback = function ($v) use($name, $cols, $callback) { $n = 0; foreach ($v as $key => $col) { if (in_array($key, $cols, true) || in_array($n, $cols, true)) { $val = $callback ? $callback($v[$key]) : $v[$key]; $v[$key] = $v[$key]; $v[$name] = $val; } $n++; } return $v; }; return parent::transform($target); }