www_archline_hu/deployed/tflearn/libraries/techfry/src/TfArray.php
LÁZÁR Imre AI Agent f67e0a20ee feat(deployed): add TF Learn 1.7.5 (no-source, vetted live)
TF Learn (Tech Fry) + techfry library 1.3.4; login-gated, no repo -> deployed files.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:24:46 +02:00

67 lines
1.9 KiB
PHP

<?php
/*
* @package Tech Fry Library
* @license https://www.gnu.org/licenses/gpl-3.0.en.html
*/
namespace TechFry\Library;
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
class TfArray
{
// $data - array; $result - array
public static function process($function, $data = array(), $params = array())
{
switch ($function)
{
// One argument; Array is modified without returning
case 'array_pop' :
case 'array_shift' :
case 'sort' :
case 'rsort' :
case 'ksort' :
case 'krsort' :
case 'natsort' :
case 'shuffle' :
$function($data);
$result = $data;
break;
// One argument; Returns modified array
case 'array_change_key_case' :
case 'array_count_values' :
case 'array_flip' :
case 'array_keys' :
case 'array_reverse' :
case 'array_unique' :
case 'array_values' :
$result = $function($data);
break;
// Two arguments - data, 1 parameter
case 'array_chunk' :
case 'array_column' :
case 'array_unshift' :
$result = $function($data, $params[0]);
break;
// Three arguments - data, 2 parameters
case 'array_pad' :
case 'array_slice' :
$result = $function($data, $params[0], $params[1]);
break;
// Special case - Modifies array without returning; 1 parameter
case 'array_push' :
case 'array_unshift' :
$function($data, $params[0]);
$result = $data;
break;
}
return $result;
}
}