Subiendo proyecto completo sin restricciones de git ignore

This commit is contained in:
Jose Sanchez
2023-08-17 11:44:02 -04:00
parent a0d4f5ba3b
commit 20f1c60600
19921 changed files with 2509159 additions and 45 deletions

View File

@@ -0,0 +1,31 @@
<?php
namespace AizPackages\CombinationGenerate\Providers;
use AizPackages\CombinationGenerate\Services\CombinationService;
use Illuminate\Support\ServiceProvider;
class CombinationServiceProvider extends ServiceProvider
{
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->bind(CombinationService::class, function ($app) {
return new CombinationService();
});
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace AizPackages\CombinationGenerate\Services;
class CombinationService {
public function generate_combination($arrays, $i=0)
{
if (!isset($arrays[$i])) {
return array();
}
if ($i == count($arrays) - 1) {
$result = array();
foreach ($arrays[$i] as $v) {
$result[][] = $v;
}
return $result;
}
// get combinations from subsequent arrays
$tmp = $this->generate_combination($arrays, $i + 1);
$result = array();
// concat each array from tmp with each element from $arrays[$i]
foreach ($arrays[$i] as $v) {
foreach ($tmp as $t) {
$result[] = is_array($t) ?
array_merge(array($v), $t) :
array($v, $t);
}
}
return $result;
}
}