Пример #1
0
/**
 * Возвращает массивы папка => вложенные файлы
 * @param  string $dirs Путь до папки с папками и файлами
 * @return array  Многомерный массив
 */
function getFileSystem($dirs){
    foreach(iter($dirs) as $dir){
        foreach(iter("$dirs/$dir") as $file){
            $fileSystem[$dir][] = $file;
        }
    }
    return $fileSystem;
}
Пример #2
0
function iter($packs, $res = [])
{
    global $target, $results, $minPkgs;
    $diff = $target - array_sum($res);
    if ($diff == 0) {
        $pkgs = count($res);
        if ($pkgs < $minPkgs) {
            $minPkgs = $pkgs;
            $results = [$res];
        } elseif ($pkgs == $minPkgs) {
            $results[] = $res;
        }
    } else {
        for ($i = 0; $i < count($packs); $i++) {
            $num = $packs[$i];
            if ($num <= $diff) {
                $newRes = $res;
                $newRes[] = $num;
                iter(array_slice($packs, $i + 1), $newRes);
            }
        }
    }
}
Пример #3
0
 if (isset($_POST["Test"])) {
     //Получить ИД ответа
     $idotveta = "";
     $sth = $mysqli->prepare("SELECT ID FROM otvet WHERE otv = ?");
     $sth->bind_Param("s", $_POST["qwe"]);
     $sth->execute();
     if (!$sth) {
         die("Error select group");
     }
     $sth->bind_result($idotveta);
     $sth->fetch();
     $sth->close();
     //записать в массив ответов
     $_SESSION["otvet"][$_SESSION["i"] - 1] = $idotveta;
     tableotvetov($mysqli);
     $list .= iter($list, $mysqli);
     $_SESSION["LIST"] = $list;
 } else {
     if (isset($_POST["endTest"])) {
         //Получить ИД ответа
         $idotveta = "";
         $sth = $mysqli->prepare("SELECT ID FROM otvet WHERE otv = ?");
         $sth->bind_Param("s", $_POST["qwe"]);
         $sth->execute();
         if (!$sth) {
             die("Error select group");
         }
         $sth->bind_result($idotveta);
         $sth->fetch();
         $sth->close();
         //записать в массив ответов
Пример #4
0
<?php

function &iter(array &$array)
{
    foreach ($array as $key => &$value) {
        (yield $key => $value);
    }
}
$array = [1, 2, 3];
$iter = iter($array);
foreach ($iter as &$value) {
    $value *= -1;
}
var_dump($array);
$array = [1, 2, 3];
foreach (iter($array) as &$value) {
    $value *= -1;
}
var_dump($array);
Пример #5
0
<?php

function iter($ar)
{
    foreach ($ar as $c) {
        echo htmlentities($c, 0, "UTF-8"), ": ", strlen($c), "\n";
    }
}
$teststr = "€ hi there";
iter(preg_split('//u', $teststr, -1, PREG_SPLIT_NO_EMPTY));
preg_match_all('/./u', $teststr, $matches);
iter($matches[0]);
Пример #6
0
--$fx;
--$fy;
$el = array();
for ($i = 0; $i != $n; ++$i) {
    $str = array_map('intval', str_split(readline(''), 1));
    $el[$i] = $str;
}
$newpaths = array();
for ($i = 0; $i <= 9; ++$i) {
    $e = $i - $el[$px][$py];
    $newpaths[$px][$py][$i] = array(max($e, 0), array(array($px, $py)));
}
$chp = array(array($px, $py));
$newchp = array();
while (count($chp)) {
    iter();
    /*
    for ($i = 0; $i != $n; ++$i)
    {
    	if (! isset($newpaths[$i]))
    	{
    		break;
    	}
    	
    	print(implode(' ', array_map(function($x) { return $x[0]; }, $newpaths[$i]))."\n");
    }
    
    print("\n");
    */
}
$cost = 0;