Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – Matematické funkcie v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Pavol Hejný
Tvůrce
Avatar
Pavol Hejný:22.7.2015 14:37

Ještě bych rád doopravil v článku, že všchno to nejsou goniometrické funkce, jsou 4 kategorie těhdle funkcí:

Goniometrické funkce (Týkají se jednotkové kružnice)
Používají se na hrozně moc věcí. Např. vykreslování kružnic, elips, posunů....
sin();
cos();
tan();

Cyklometrické funkce (Týkají se jednotkové kružnice)
Výpočet úhlu z x a y. Převody kartézských a polárních souřadnic.
asin();
acos();
atan();

Hyperbolické funkce (Týkají se jednotkové hyperboly)
Dalo by se říct takové jednoduché přirovnání:

Elipsa, Kružnice, Kružnice s poloměrem 1
Hyperbola, Rovnoosá hyperbola, Jednotková hyperbola

Používají se např. při generévání terénu, fyzikálních simulacích.
sinh();
cosh(); //řetězovka
tanh();

Hyperbolometrické funkce (Týkají se jednotkové hyperboly)
asinh();
acosh();
atanh();

Odpovedať
22.7.2015 14:37
/^(web )?(app )?developer$/
Avatar
gorri
Člen
Avatar
gorri:23.8.2016 16:23

Zdravím zkušenější programátory.
Narazil jsem na problém a už si s ním nevím rady, tak bych požádal profíky o radu.
Na stránce se mi přes funkci ob_start otevírají všechny soubory, které mám a potřebuji je zobrazit. Toto je řízeno podmínkou, že musí být v článku příznak, že patří do této kategorie.
Díky tomu se mi v dané kategorii zobrazí jen 10 článků, které potřebuji zobrazit. V každé kategorii je tomu jinak ale vše je řízeno podmínkou, že musí mít v článku příznak, který říká, že patří do této kategorie. Zároveň je s tím spojena ještě podmínka, že článek nesmí expirovat.
K tomuto jsem se rozhodnul vytvořit si funkci, která mi umožní zobrazovat určitý obsah (includem) pokud jich je zobrazeno minimálně 5.
Nicméně problém je, že ve chvíli kdy je příspěvků na stránce 5 (ošetřeno následovně: pokud je podmínka pro zobrazení příspěvku splněna tak rovnou zapíše do určité proměnné ++.
Jakmile je obsah proměnné například 4 tak chci aby se zobrazil includovaný soubor.
Bohužel ve chvíli kdy se spustí funkce tak někde mi to includuje soubor 5x a někde jen 1x nebo 2x. Chci aby se includoval pouze jednou a vždy po tom co je v proměnné 4 a 8.
Věděl by někdo co s tím?
Stránka je dělána bez MySQL.
Níže je ukázka kódu

funkce k zobrazení includovaného souboru
function reklamapr() {

if (($GLOBALS['re­klama'] == 4))
{
(include ('./includes/me­nu.php'));}
else {echo "";}

if (($GLOBALS['re­klama'] == 9))
{
(include ('./includes/me­nu.php'));}
else {echo "";}

}

podmínka, která vše řídí
if {echo "vypis" and $reklama++;} else {echo "none";}

$reklama++ má zvýšit při splnění podmínky $reklama o jedno číslo.
Moc děkuji všem za radu.
Snad jsem to vysvětlil tak aby se to dalo pochopit.
Dokázal by mi někdo s tímto poradit prosím?

Odpovedať
23.8.2016 16:23
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
gorri
Člen
Avatar
gorri:23.8.2016 16:29

Omlouvám se. Zde je podmínka, která řídí zobrazení příspěvku a zároveň i přičítá do $reklama když je podmínka splněna. Nevím proč se kód nezobrazil. Asi chyba mezi klávesnicí a křeslem :-D

if(($umisteni13 == 13) and (date("d-m-Y",$realnycas) < $expirace)) {echo "vypis" and $reklama++;} else {echo "none";}
Odpovedať
23.8.2016 16:29
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
Pavel Kubalík:23.12.2020 15:28

Dobrý den
Kurz PHP se blíží ke konci, a tak je třeba vše shrnout a zhodnotit.
Kurz byl výborný a příklady přiměřeně těžké. Až na jeden jsem se probojoval s úspěchem. |U jednoho jsem si nechal napovědět, ale je dobrý jako "mustr".
Přišel také čas se rozhodnout jak dál.
Rozhodně neukončím studium a nepůjdu hostovat na web. Rozhodl jsem se pokračovat, a to v Objektově orientovaném programování. Poplatek je sice poněkud větší, a nebezpečí nedokončení kurzu (a tím pádem znehodnocení investice) je velké, ale nedá se nic dělat. I tak bych přispěl na dobrou věc.
Takže se budu těšit na nový kurz. Poslední lekci tohoto jsem již jednou prošel, tak bych to rád zítra uzavřel. Taky jsem podruhé prošel kurz od začátku, a objevil jsem věci, které jsem poprve přehlédl, nebo jsem ji nedal dostatečnou pozornost. počítám, že se za dva měsíce ještě jednou k základům PHP vrátím.
Musím ještě vzpomenout nedokončený kurz HTML a CSS. HTML jsem si ještě jednou proběhl, a celkem jsem v obraze. Horší je to s CSS, to mi při studiu (zatím z neobjevených důvodů) moc nešlo. Možná, že příklady byly moc náročné, nevím. Každopádně se k tomu brzy budu muset vrátit (možná víckrát).
Taky budu muset zvolnit při studiu OOP, je to mnohem náročnější. I když výsledek za to jistě stojí.
Děkuji PK

 
Odpovedať
23.12.2020 15:28
Avatar
Odpovedá na Pavel Kubalík
Dušan Kovářík:7.7.2021 18:54

Ahoj, moc se mi líbí tvůj přístup!
Mám to trochu podobně. Rozhodl jsem se naučit PHP včetně databází, OOP (s tím už mám nějaké zkušenosti z jiných jazyků) a nějakého frameworku (nejspíš Laravel). Pro front-end se učím samozřejmě JavaScript, což obnáší znalost HTML + CSS, dále rovněž OOP a framework React.
S tím stylováním to mám úplně stejně :) To je pro mě mnohdy fakt piplačka - "analýza" výsledků v prohlížeči (ten nástroj v Chrome, který se spustí klávesou F12), úpravy, další zkoušení... Prostudoval jsem si tutoriál "statický web", kde jsou základy HTML a CSS popsány společně, ale budu si muset projít ještě ty dva samostatné a podrobné (jeden na HTML a druhý na CSS).
Je toho fakt hodně, ale zase když zrovna nemám náladu na jednu věc, můžu přepnout na jinou.
Také jsem si udělal v Excelu "pokrokové tabulky", kam si zaznamenávám, které lekce daného tutoriálu jsem si prostudoval, jak dobře mám pocit, že to umím :) na stupnici 1 až 10 (abych věděl, co si mám opakovat), a která cvičení jsem úspěšně udělal. Zobrazuje se mi tam v procentech, jak jsem daleko apod. Je to taková moje oblíbená motivační pomůcka :)
Ať se ti daří!

 
Odpovedať
7.7.2021 18:54
Avatar
Dušan Kovářík:7.7.2021 19:19

Dovolím si okomentovat některé drobné chybky, na které jsem v této lekci narazil:

  • Úryvek z textu: "fmod(x, y) = vrací desetinný zbytek po celočíselném dělení x/y": zbytek po celočíselném dělení je z principu vždy celé číslo. Mně tato funkce funguje tak, že vrací (desetinný nebo celý, podle situace) zbytek po jakémkoli dělení. Např.:
echo(fmod(6.5, 2.5));

vypíše 1.5

  • V tabulce s konstantami se mi zobrazují čísla v dolním indexu (nevím, jestli za to nemůže prohlížeč). Všude, kde je číslo v dolním indexu, se toto číslo napíše do kódu běžným způsobem (jinak to ani nejde :) ) a před něj přijde podtržítko. Např.:
M_PI_2
M_PI_4
M_1_PI

a podobně.

  • V popisu funkce pi() chybí závorky, které tam musí být.

Jsou to samozřejmě jen detaily - pouze na ně upozorňuji - nekritizuji jinak pro mě naprosto skvělý článek!

Jinak k matematice mám kladný vztah a musím říct, že jsem docela ohromen, kolik matematických funkcí v PHP je a moc se mi to líbí :) Díky za krásný přehled!

 
Odpovedať
7.7.2021 19:19
Avatar
Lumír Kus
Člen
Avatar
Lumír Kus:20.11.2021 17:36

Pro důkladné pochopení si rozebírám a zkouším všechny příklady a narazil jsem na jeden překlep v části o číselných soustavách
Tento příklad echo hexdec(24); // 36 (z šestnáctkové do osmičkové)
je ve skutečnosti převod ze šestnáctkové do desítkové.

 
Odpovedať
20.11.2021 17:36
Avatar
Ferda Mravenec:16.2.2022 23:14

Ve 3. tabulce (porovnání 3 funkcí), v posledním řádku, je chyba. Všude má být číslo 6, ať už kladné či záproné.

 
Odpovedať
16.2.2022 23:14
Avatar
Bohuslav Labaj:24.3.2022 10:26

opravte si u funkce round

round(5483.47621, 2); // 5483.47 na 5483.48
 
Odpovedať
24.3.2022 10:26
Avatar
Odpovedá na Bohuslav Labaj
Bohuslav Labaj:24.3.2022 11:40

Pokud to je potřeba, tak u funkce ceil() a floor() lze řešit zaokrouhlení dolů či nahoru například pro číslo 4.2356 na dvě desetiny jednoduše takto:

ceil(4.2356 * 100) / 100;  // výsledek 4.24
floor(4.2356 * 100) / 100; // výsledek 4.23
 
Odpovedať
24.3.2022 11:40
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!