Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Dědek 09. 01. 2018, 21:41:06
-
Zdravím přátelé, potřeboval bych pomoci s napsáním podmínky.
Mám takové pole
https://pastebin.com/1dpxmvhD
a potřebuji napsat podmínku, která by vrátila true
pokud bude souhlasit 'url' a 'parent' i 'level'
nebo false
Poradí mi někdo?
-
<?php
function compare($url, $parent, $level) {
foreach ($list as $item) {
if (($url === $item['url']) && ($parent === $item['parent']) && ($level === $item['level'])) {
return true;
}
}
return false;
}
-
<?php
function compare($item, $url, $parent, $level) {
return ($url === $item['url']) && ($parent === $item['parent']) && ($level === $item['level']);
}
foreach($myarr as $item)
echo (compare($item, "empty-3", "13", "3") ? "True" : "False")."\n";
?>
-
Ahoj, je potřeba ty příklady ještě nějak doladit? Oba příklady vrací vždy jen false.
-
function compare($item, $subarray) {
return empty(aray_diff_assoc($subarray, $item));
}
-
Ahoj, je potřeba ty příklady ještě nějak doladit? Oba příklady vrací vždy jen false.
Mně vrací true, pokud souhlasí všechny 3 parametry. Proměnná $list samozřejmě musí být z funkce dostupná, například jako atribut v objektu.
To pole máš udělané nešikovně. Změnou jeho struktury bys takový test mohl udělat na jednom řádku a bylo by to i rychlejší. Doufám, že ho netaháš z databáze.
-
Přístupné to mám jako parametr, z db to tahám, jedná se o Nested.
-
Přístupné to mám jako parametr, z db to tahám, jedná se o Nested.
A co kdybys z DB tahal jen ten jeden řádek, který splňuje ty 3 podmínky?
-
Již to funguje, problém byl v ===, nahradil jsem za == a funguje to správně, sice by mělo fungovat i === ale nevím proč ne. Z db to tahám všechno, jelikož následně vypisuji veškeré kategorie.
Děkuji za pomoc.
-
Ahoj, je potřeba ty příklady ještě nějak doladit? Oba příklady vrací vždy jen false.
Můj určitě vždy jen false nevrací, odzkoušeno... Nebo je chybně pochopeno zadání...
-
Již to funguje, problém byl v ===, nahradil jsem za == a funguje to správně, sice by mělo fungovat i === ale nevím proč ne.
Můj odhad je, že v DB jsou parent a level uloženy jako čísla, ale porovnáváte to se stringy.