Autor Zpráva
snazimse
Profil
Zdravím,

může mi někdo prosím podrobně vysvětlit co to znamená tento kod.
Zhruba.

viz:
 $text = strtoupper($_GET['my']);
 $text = (string)substr($text,strlen(MYTYPE) + 1 - strlen($text));

strtoupper velká písmena
substr má vrátit podle čísla nějaký kus řetězce.
strlen zase vrací počet znaků.
Ale k čemu tam je to +1 - a to (string)

Je jasné ,že to přebírá něco z toho get a upraví to,ale prostě, nechápu jak to upravuje a proč.A co z toho jako může vzniknout.
Hlavně co znamená to +1- mezitím a ten (string) což je text,to je asi už v té funkci php předpokládám zabudováno.


Díky všem za odpověďi
Keeehi
Profil
Odpovím trochu napřeskáčku

(string) - toto je přetypování. Říká to PHP, že to co je za tím (návratová hodnota funkce, proměnná aj.) je toho typu, jaký je uvedený v závrce. V tomto případě se to má brát jako řetězec. Je to tam proto, že funkce substr, může vrátit false. Tímto se toto false převede na prázdný řetězec.

Co je MYTYPE, tak to nevím. Ale bude to nejspíše nějaká konstanta. tudíž někde výše bych hledal define("MYTYPE","prefix");

výraz
strlen(MYTYPE) + 1 - strlen($text)
lze ve většině případů přepsat jako (tam kde se to matematicky rozchází jsou nevalidní data, alespoň podle toho jak to cítím z kontextu já)
strlen(MYTYPE) + 1
a v tomto případě bude výsledek 7 => ořízne se prvních 7 znaků

Pokud by tedy
$_GET['my'] = "Prefix_Integer";

1. řádek => $text == "PREFIX_INTEGER"
2. řádek => $text == "INTEGER"

Jak to tak vidím, má to odstraňovat nějaký předem daný prefix a zbytek převést na velké písmena
snazimse
Profil
Výborně,ano máte pravdu,ve všem co jste uvedl,funguje správně.Pochopil jsem!
Perfektní!

Díky moc!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: