Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.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.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Díky za pomoc
<?php
$arr = array('foo1' => array('aaa', '111', '0', true, 'AAA'),
'foo2' => array('bbb', '111', '1', true, 'CCC'),
'foo3' => array('bbb', '111', '0', false, 'AAA'));
if($arr['foo2'][0] == 'bbb' AND $arr['foo2'][1] == 111 AND $arr['foo2'][2] == 1 AND $arr['foo2'][3] == true AND $arr['foo2'][4] == 'CCC')
echo "existuje";
else
echo "neexistuje";
?>
existuje
$e = false || true; $f = false or true; $g = true && false; $h = true and false; var_dump($e, $f, $g, $h);vypise:
bool(true) bool(false) bool(false) bool(true)vice info v dokumentaci
<?php
$arr = array('foo1' => array('aaa', '111', '0', true, 'AAA'),
'foo2' => array('bbb', '111', '1', true, 'CCC'),
'foo3' => array('bbb', '111', '0', false, 'AAA'),
'foo2' => array('bbb', '100', '1', true, 'CCC'));
if($arr['foo2'][0] == 'bbb' AND $arr['foo2'][1] == 111 AND $arr['foo2'][2] == 1 AND $arr['foo2'][3] == true AND $arr['foo2'][4] == 'CCC')
echo "existuje";
else
echo "neexistuje";
?>
array(3) {
["foo1"]=>
array(5) {
[0]=>
string(3) "aaa"
[1]=>
string(3) "111"
[2]=>
string(1) "0"
[3]=>
bool(true)
[4]=>
string(3) "AAA"
}
["foo2"]=>
array(5) {
[0]=>
string(3) "bbb"
[1]=>
string(3) "100"
[2]=>
string(1) "1"
[3]=>
bool(true)
[4]=>
string(3) "CCC"
}
["foo3"]=>
array(5) {
[0]=>
string(3) "bbb"
[1]=>
string(3) "111"
[2]=>
string(1) "0"
[3]=>
bool(false)
[4]=>
string(3) "AAA"
}
}
A nešlo by to načítat to pole index po indexu?
foo2 jen jeden. Kde jsou fyzicky ty informace o tech knihach?
$arr = array();
$arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA');
$arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC');
$arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA');
$arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
$arr = array();
$arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA');
$arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC');
$arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA');
$arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
$exists = false;
foreach ($arr as $book) {
if ($book[0] == 'foo2' && $book[1] == 'bbb' && $book[2] == '111' && $book[3] == '1' && $book[4] == true && $book[5] == 'CCC') {
$exists = true;
break;
}
}
echo $exists ? "existuje" : "neexistuje";
$arr = array();
$arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA');
$arr[] = array('foo2', 'bbb', '--->111', '1', true, 'CCC');
$arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA');
$arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
když znám (foo2) ?
$arr = array();
$arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA');
$arr[] = array('--->foo2', 'bbb', '111', '1', true, 'CCC');
$arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA');
$arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
nebo se to musí vždy projíždět celý cyklem? Díky
SELECT col2 FROM books WHERE title = 'foo2' AND col1 = 'bbb' AND col3 = 1 AND col4 = 1 AND col5 = 'CCC'nazvy sloupcu by to samozrejme chtelo smysluplnejsi, ale nevim co ty hodnoty znamenaj, tak jsem uvedl tyhle..
$selectedBooks = array_filter($arr, function($book)
{
return $book[0] == 'foo2'
&& $book[1] == 'bbb'
&& $book[2] == '111'
&& $book[3] == '1'
&& $book[4] == true
&& $book[5] == 'CCC'
;
});
$arr = array();
$arr[] = array('foo1', 'aaa', '111', '0', true, 'AAA');
$arr[] = array('foo2', 'bbb', '111', '1', true, 'CCC');
$arr[] = array('foo3', 'bbb', '111', '0', false, 'AAA');
$arr[] = array('foo2', 'bbb', '100', '1', true, 'CCC');
$arr2=array_filter($arr, function($kniha) {return $kniha[0]=='foo2';});
print_r($arr2);
Najde ti to hledané 2 záznamy a z těch si vybereš příslušné sloupce.
Pokud však to jsou knihy s atributy 'foo2', 'bbb', '111', '1', true, 'CCC', tak to můžeš udělat jako seznam objektů, se kterým se dá dovádět o něco lépe než s polem polí.
Opravdu nechceš použít databázi? Je to mnohem praktičtější.
Tiskni
Sdílej: