Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
Pro moddery Minecraftu: Java edice Minecraftu bude bez obfuskace.
Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
array(4) {
  [0]=>
  array(2) {
    [0]=>
    array(2) {
      ["id"]=>
      int(1)
      ["name"]=>
      string(5) "jedna"
    }
    [1]=>
    array(2) {
      ["id"]=>
      int(4)
      ["name"]=>
      string(5) "ctyri"
    }
  }
  [1]=>
  array(2) {
    [0]=>
    array(2) {
      ["id"]=>
      int(2)
      ["name"]=>
      string(3) "dva"
    }
    [1]=>
    array(2) {
      ["id"]=>
      int(3)
      ["name"]=>
      string(3) "tri"
    }
  }
  [4]=>
  array(3) {
    [0]=>
    array(2) {
      ["id"]=>
      int(5)
      ["name"]=>
      string(3) "pet"
    }
    [1]=>
    array(2) {
      ["id"]=>
      int(6)
      ["name"]=>
      string(4) "sest"
    }
    [2]=>
    array(2) {
      ["id"]=>
      int(7)
      ["name"]=>
      string(4) "sedm"
    }
  }
  [7]=>
  array(2) {
    [0]=>
    array(2) {
      ["id"]=>
      int(8)
      ["name"]=>
      string(3) "osm"
    }
    [1]=>
    array(2) {
      ["id"]=>
      int(9)
      ["name"]=>
      string(5) "devet"
    }
  }
}
rekurzivni funkce (dovolil jsem si tam dat var_dumpy):
    public function findListDown($seekVal, $tmp_array = array()) {
        if (count($tmp_array) == 0) { // kdyz je pole prazdne vlozi prvni hledanou hodnotu
            array_push($tmp_array,$seekVal);
        }
        var_dump($tmp_array);
        foreach ($this->slovnik()[$seekVal] as $tmp_key) {
                var_dump($tmp_key['id']);
                array_push($tmp_array,$tmp_key['id']);
                $seekVal = $tmp_key['id'];
                $this->findListDown($seekVal,$tmp_array);
        }
        return $tmp_array;
    }
Vystupem var_dumpu je toto:
array(1) {
  [0]=>
  int(0)
}
int(1)
array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
int(2)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
}
int(3)
array(4) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
} ---------> az sem vsechno ok
int(4)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4) ---> ale tady mi asi ta rekurzivni funkce prepsala hodnoty v poli
}...
------------> chtel bych zde mit:
int(4)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
}...
            
<?php
class itemList {
    public $slovnik =
        array (
          0 => 
          array (
            0 => 
            array (
              'id' => 1,
              'name' => 'jedna',
            ),
            1 => 
            array (
              'id' => 4,
              'name' => 'ctyri',
            ),
          ),
          1 => 
          array (
            0 => 
            array (
              'id' => 2,
              'name' => 'dva',
            ),
            1 => 
            array (
              'id' => 3,
              'name' => 'tri',
            ),
          ),
          4 => 
          array (
            0 => 
            array (
              'id' => 5,
              'name' => 'pet',
            ),
            1 => 
            array (
              'id' => 6,
              'name' => 'sest',
            ),
            2 => 
            array (
              'id' => 7,
              'name' => 'sedm',
            ),
          ),
          7 => 
          array (
            0 => 
            array (
              'id' => 8,
              'name' => 'osm',
            ),
            1 => 
            array (
              'id' => 9,
              'name' => 'devet',
            ),
          ),
        );
    public function findListDown($seekVal, $tmp_array = array()) {
#       [ 0: {1,4}, 1: {2,3}, 4: {5,6,7}, 7: {8,9} ]
        if (count($tmp_array) == 0) {
            array_push($tmp_array,$seekVal);
        }
        var_dump($tmp_array);
        foreach ($this->slovnik[$seekVal] as $tmp_key) {
                var_dump($tmp_key['id']);
                array_push($tmp_array,$tmp_key['id']);
                $seekVal = $tmp_key['id'];
                $this->findListDown($seekVal,$tmp_array);
        }
        return $tmp_array;
    }
}
$Lists = new itemList;
echo "<pre>";
$Lists->findListDown(0);
echo "</pre>";
?>
upravena verze:
<?php
class itemList {
    public $slovnik =
        array (
          0 => 
          array (
            0 => 
            array (
              'id' => 1,
              'name' => 'jedna',
            ),
            1 => 
            array (
              'id' => 4,
              'name' => 'ctyri',
            ),
          ),
          1 => 
          array (
            0 => 
            array (
              'id' => 2,
              'name' => 'dva',
            ),
            1 => 
            array (
              'id' => 3,
              'name' => 'tri',
            ),
          ),
          4 => 
          array (
            0 => 
            array (
              'id' => 5,
              'name' => 'pet',
            ),
            1 => 
            array (
              'id' => 6,
              'name' => 'sest',
            ),
            2 => 
            array (
              'id' => 7,
              'name' => 'sedm',
            ),
          ),
          7 => 
          array (
            0 => 
            array (
              'id' => 8,
              'name' => 'osm',
            ),
            1 => 
            array (
              'id' => 9,
              'name' => 'devet',
            ),
          ),
        );
    private $tmp_array = array();
    public function findListDown($seekVal) {
        if (count($this->tmp_array) == 0) {
            array_push($this->tmp_array,$seekVal);
        }
        var_dump($this->tmp_array);
        foreach ($this->slovnik[$seekVal] as $tmp_key) {
                var_dump($tmp_key['id']);
                array_push($this->tmp_array,$tmp_key['id']);
                $seekVal = $tmp_key['id'];
                $this->findListDown($seekVal);
        }
        return $this->tmp_array;
    }
}
$Lists = new itemList;
echo "<pre>";
$Lists->findListDown(0);
echo "</pre>";
?>
a jejich rozdilne vystupy, puvodni verze bez privatni promenne...:
array(1) {
  [0]=>
  int(0)
}
int(1)
array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
int(2)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
}
int(3)
array(4) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
}
int(4)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
}
int(5)
array(4) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(5)
}
int(6)
array(5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(5)
  [4]=>
  int(6)
}
int(7)
array(6) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(5)
  [4]=>
  int(6)
  [5]=>
  int(7)
}
int(8)
array(7) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(5)
  [4]=>
  int(6)
  [5]=>
  int(7)
  [6]=>
  int(8)
}
int(9)
array(8) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(5)
  [4]=>
  int(6)
  [5]=>
  int(7)
  [6]=>
  int(8)
  [7]=>
  int(9)
}
upravena verze s privatni promennou:
array(1) {
  [0]=>
  int(0)
}
int(1)
array(2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
int(2)
array(3) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
}
int(3)
array(4) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
}
int(4)
array(5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
}
int(5)
array(6) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
}
int(6)
array(7) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
}
int(7)
array(8) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
}
int(8)
array(9) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
  [8]=>
  int(8)
}
int(9)
array(10) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
  [8]=>
  int(8)
  [9]=>
  int(9)
}
            $seekVal i $tmp_array a místo standardního
$tmp_array[] = $tmp_key['id'];používáš nedoporučovanou konstrukci
array_push($tmp_array, $tmp_key['id']);Takže: Čeho chceš vlastně dosáhnout? Nestačilo by jednoduché volání nějaké standardní funkce, která by tohle vše udělala jedním vrzem? Odkud bereš data? Nestačilo by je vyfiltrovat už při čtení? Proč to neuděláš funkcionálně?
    id | parent_id | name      | dalsi sloupce
-------+-----------+-----------+---------------
     1 |         0 | jedna     |
     2 |         1 | dva       |
     3 |         1 | tri       |
     4 |         0 | ctyri     |
     5 |         4 | pet       |
     6 |         4 | sest      |
     7 |         4 | sedm      |
     8 |         7 | osm       |
     9 |         7 | devet     |
1 0 jedna 2 1 dva 3 1 tri 4 0 ctyri 5 4 pet 6 4 sest 7 4 sedm 8 7 osm 9 7 devetProtoze chci obcas vykreslovat jen nektere vetve (napr. id 4-9) Vytvoril jsem si slovnik, ktery odrazky prevede do tvaru
[ 0: {1,4}, 1: {2,3}, 4: {5,6,7}, 7: {8,9} ]
Funkci $this->findListDown(4); bych napr. vykresloval jen odrazky s id 4-9.
Nicmene, to asi utikame od dotazu. Zajimalo by me, proc prvni uvedena funkce nedela to co druha? Dela prece to same, je jen zapsana jinak...
            array_push(), kterou nepoužívám a proto jsem ani nevěděl o této její vlastnosti.
            $doc = new DOMdocument();
$pole = array();
$pole[0] = $doc->appendChild(new DOMElement('root'));
while ($row = $select->fetch(PDO::FETCH_ASSOC)) {
    $id = $row['id'];
    $pid = 0 + $row['pid'];
    $parentId = isset($pole[$pid]) ? $pid : 0;
    $child = new DOMElement('div', htmlspecialchars($row['nazev']));
    $pole[$id] = $pole[$parentId]->appendChild($child);
}
V CSS jsem pak dal jen odsazení divu na 4% a bylo to. Proměnná $pole je jen pomocná, výsledek je v $doc
                public function findListDown($seekVal, &$tmp_array = array()) {
        if (count($tmp_array) == 0) {
            array_push($tmp_array,$seekVal);
        }
        foreach ($this->slovnik[$seekVal] as $tmp_key) {
                $tmp_array[] = $tmp_key['id'];
                $seekVal = $tmp_key['id'];
                $this->findListDown($seekVal, $tmp_array);
        }
        return $tmp_array;
    }
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                