Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – Riešené úlohy k 1.-4. lekciu 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
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Lukáš Vavřík:4.11.2020 13:19

Přemýšlel jsem nad tím pěkně dlouho :D ale aspoň jsem pořádně pochopil jak funguje pole a jak funguje php. Nedošlo mi prvně, že si rok převede na číslo a od toho musím odečíst index pole, abych se dostal na začátek pole. Nakonec to bylo úplně jednoduché

$rok = array('vepře', 'krysy', 'bůvola','tygra', 'zajíce', 'draka', 'hada', 'koně', 'ovce', 'opice', 'kohouta', 'psa');
$datum = date("y");
$rokslovy = $rok[$datum -20];
echo('Je rok ' . $rokslovy);
Avatar
Martin Remeň:10.12.2020 14:07
$rok = array('koně', 'ovce', 'opice', 'kohouta', 'psa', 'vepře', 'krysy', 'bůvola', 'tygra', 'zajíce', 'draka', 'hada');
$aktualniRok = date('y');
$rokCelkem = $rok[$aktualniRok-18];
echo 'Je rok ' . $rokCelkem;
Avatar
Adam Šlajs
Člen
Avatar
Adam Šlajs:3.1.2021 0:29
$a = 10;
$b = 20;
$obsah = $a * $b ;
$obvod = $a * 2 + $b * 2 ;
echo('Obdélník se stranami o délkách' $a'cm a' $b'cm má' $obsah'cm<sup>2</sup> a' $obvod'cm');

Zdravím samozřejmě my tohle nefunguje, i když my to přijde logický a chybu nevidím ale tak asi tam je. Někdo něco?

Avatar
Milan Turyna
Tvůrce
Avatar
Milan Turyna:3.1.2021 16:51

Vzdy kdyz ti neco nejde, nestaci napsat "my to prijde logicky a chybu nevidim", kdyz ti to nefunguje, asi to hazi nejakou odpoved (error, warning, echo,...), je to jako rict: Mam auto, nejezdi, v cem je problem?

Ted k samotnemu problemu, pri otestovani na webu http://phptester.net/ tvuj kod vraci:

FATAL ERROR syntax error, unexpected '$a' (T_VARIABLE) on line number 7

coz je logicke, jelikoz jsi tyto retezce nijak nespojil a pouze je oddelil mezerou coz PHP nepodporuje. Pokud chces vypsat nejakou promennou v textovem retezci musis tyto retezce spojit teckou, viz priklad:

echo('Mam rad zmrzlinu s prichuti: ' . $prichutZmrzliny);

nebo vyuzit tzv. Complex (curly) syntax, kde bude textovy retezec ohraniceny pomoci uvozovek a vyraz (promenna, podminka, funkce...) zavorky {}, viz priklad:

echo("Mam rad zmrzlinu s prichuti: {$prichutZmrzliny}");

https://www.php.net/…s.string.php
https://www.php.net/…s.string.php
https://stackoverflow.com/…897/11568349

Funkcni kod je tedy:

$a = 10;
$b = 20;
$obsah = $a * $b ;
$obvod = $a * 2 + $b * 2 ;
echo('Obdélník se stranami o délkách '.$a.' cm a '.$b.' cm má '.$obsah.' cm <sup>2</sup> a ' .$obvod. ' cm');
Avatar
Yuriy Tretyachenko:26.2.2021 0:40

Zdlouhave, ale si myslim, ze je to prehledne

$roky=[];
$roky[2015]='koně';
$roky[2016]='ovce';
$roky[2017]='opice';
$roky[]='kohouta';
$roky[]='psa';
$roky[]='vepře';
$roky[]='krysy';
$roky[]='bůvola';
$roky[]='tygra';
$roky[]='zajíce';
$roky[]='draka';
$roky[]='hada';
$nynejsi_rok=date('Y');
echo("Je rok $roky[$nynejsi_rok]");
Editované
Avatar
Odpovedá na Yuriy Tretyachenko
Yuriy Tretyachenko:28.2.2021 6:38

No jo, chybi tam apostrofy

echo("Je rok $roky['$nynejsi_rok']");

vzdycky musis davat bacha na syntaxe

Editované
Avatar
Lukáš Vejsada:10.3.2021 14:37
<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Obdélník</title>
</head>
<body>
<?php

$a = 10;
$b = 20;

echo('Obdelník se stranami o délkách ' . $a . ' cm a ' . $b . ' cm má obsah ' . $a * $b . '
cm<sup>2</sup> a obvod ' . ($a + $b) * 2 . ' cm.')


?>
</body>
</html>
Avatar
Lukáš Vejsada:10.3.2021 14:54

Ahoj druhý úkol:

<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Produkty</title>
</head>
<body>
<?php

$array = array(3500, 2800, 1280, 1920, 4320);
$count = array_sum($array) / count($array);
$diff = $count - $array[2];

echo('Třetí produkt se od průměrné ceny odlišuje o ' . $diff . ' Kč.');

?>
</body>
</html>
Avatar
Lukáš Vejsada:10.3.2021 15:03

Ahoj, třetí řešení bez podmínek a za pomoci práce s datem

<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Zvěrokruh</title>
</head>
<body>
<?php

    $chineseYearArray = array(2017 => 'koně', 2018 => 'ovce', 2019 => 'opice',
    2020 => 'kohouta', 2021 => 'psa', 2022 => 'vepře', 2023 => 'krysy',
    2024 => 'bůvola', 2025 => 'tygra', 2026 => 'zajíce', 2027 => 'draka', 2028 => 'hada');

    $currentYear = date('Y');

    echo('Je rok ' . $chineseYearArray[$currentYear]);

?>
</body>
</html>
Avatar
Jarda
Člen
Avatar
Jarda:14.3.2021 11:30

Ahoj, domnívám se, že ve vzorovém scriptu čínského zvěrokruhu je na řádku 35 chyba. Jestliže pole začíná indexem 0 a rok 2017 je rok opice, tak je třeba odečíst 2015 místo 2014.

Posledné komentáre sú na spodnej časti poslednej stránky.
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.

Zobrazené 10 správy z 114.