BF Summer sales
Pouze tento týden sleva až 80 % na HTML & CSS a JavaScript
80 % bodů zdarma na online výuku díky naší Letní akci!

Objektový generátor náhodných vět v PHP

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Objektový generátor náhodných vět v PHP. Skript generuje náhodné věty podle rozšiřitelné slovní zásoby a je včetně zdrojových kódů.

<?php

class Gvety {
    private $a1 = array("Franta", "Adam", "Jirka");
    private $a2 = array("šel", "jel", "skočil", "plaval");
    private $a3 = array("do kina", "do obchodu", "na koupaliště");
    private $a4 = array("kdy", "jak", "proč");

    private $veta;
    private $tecka;

    function __construct() {
        $this->v = array(
            array($this->a1, $this->a2, $this->a3, "."),
            array($this->a2, $this->a1, $this->a3, "?"),
            array($this->a4, $this->a2, $this->a1, $this->a3, "?"),
            );
        $this->vyber($this->v[rand(0, sizeof($this->v)-1)]);
    }

    function vyber($typ) {
        $this->veta = array();
        $this->tecka = array_pop($typ);
        foreach ($typ as $slovnik) {
            $this->veta[] = $slovnik[rand(0, sizeof($slovnik) - 1)];
        }
    }

    function __toString() {
        return implode(' ', $this->veta) . $this->tecka;
    }
}

$veta = new Gvety();
echo $veta;

Galerie

Program byl vytvořen v roce 2013.

 

Všechny články v sekci
Zdrojákoviště pro OOP v PHP
Program pro vás napsal Kit
Avatar
Jak se ti líbí článek?
6 hlasů
Jsem spokojeným uživatelem operačních systémů založených na linuxovém jádře. Zejména openSUSE a Ubuntu. Pro psaní veškerých textů a programů používám vynikající textový editor Vim. Aplikace se snažím psát vždy v tom nejvhodnějším programovacím jazyk...
Aktivity (2)

 

 

Komentáře

Avatar
Martin Píštěk (Denir):28.4.2015 13:51

ahoj, jen se chci zeptat, v konstruktoru máš $this->v ale promennou 'v' nemas nikde deklarovanou, to muze byt? Nebo mi neco uniklo? :-)

 
Odpovědět
28.4.2015 13:51
Avatar
Šimon Rataj
Člen
Avatar
Odpovídá na Martin Píštěk (Denir)
Šimon Rataj:29.6.2016 19:20

Je definována na řádku 13.

 
Odpovědět
29.6.2016 19:20
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:29.6.2016 21:01

Aby fungovala velká písmena na začátku vět, změnil jsem dva řádky:
15:

array(str_replace("š", "Š", $this->a2), $this->a1, $this->a3, "?"),

30:

return ucfirst(implode(' ', $this->veta) . $this->tecka);

Místo 'š' je v druhém typu vět 'Š' a na řádku 37 je první písmeno změněno na velké. To malé a velké š tam mám, protože u mě funkce ucfirst nezná š, takže ho nepřevede na velké.

Editováno 29.6.2016 21:03
 
Odpovědět
29.6.2016 21:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.