Autor | Zpráva | ||
---|---|---|---|
alfa47 Profil |
#1 · Zasláno: 13. 10. 2013, 15:57:36
Ahojte,
myslite, ze daju sa tieto dva riadky napisat jednym riadkom? Nejake elegantne riesenie? $nazov = split("sep", urldecode($k)); $nazov = $nazov[1]; Ja by som si predstavoval nieco taketo: $nazov = split("sep", urldecode($k))[1]; lenze som asi prilis naivny ;-))) Python je asi elegantnejsi. Vopred dakujem. |
||
Someone Profil |
#2 · Zasláno: 13. 10. 2013, 16:00:49
Od jisté verze PHP to lze, ale nejsem si jistý od které. Každopádně místo
split() použij explode() :
<?php $nazov = explode("sep",urldecode($k))[1]; ?> |
||
alfa47 Profil |
#3 · Zasláno: 13. 10. 2013, 17:27:54
Someone:
a vies mi povedat, preco explode a nie split? Ake su tam vyhody? |
||
Jan Tvrdík Profil |
#4 · Zasláno: 13. 10. 2013, 17:32:35
alfa47:
Kdyby ses podíval do dokumentace, tak by sis zřejmě všiml velkého výstražného varování „This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.“. Kromě toho funkce split rozděluje řetězec regulárním výrazem, což tady nechceš (resp. nepotřebuješ).
|
||
alfa47 Profil |
#5 · Zasláno: 14. 10. 2013, 00:07:40
Someone:
Vyzera, ze explode("sep",urldecode($k))[1]; nefunguje, ako viem prosim Ta zistit, od ktorej verzie to takto moze ist? Vopred dakujem velmi pekne. |
||
Jan Tvrdík Profil |
#6 · Zasláno: 14. 10. 2013, 00:45:38
alfa47:
Od 5.4.0, viz 3v4l.org/PLpD1. |
||
Tori Profil |
Ještě by šlo použít array_slice.
↓ a jo vlastně, dík. |
||
Radek9 Profil |
Tori:
To ale vrací taky pole. Teoreticky je možné si tu funkčnost z 5.4 nahradit vlastní funkcí: function index($array, $index = 0) { return $array[$index]; } $nazov = index(explode("sep",urldecode($k)), 1); |
||
Jan Tvrdík Profil |
Spíš doporučuji najít webhosting s PHP 5.4 nebo 5.5.
|
||
alfa47 Profil |
#10 · Zasláno: 14. 10. 2013, 14:47:28
Jan Tvrdík:
inak take, ze: $trieda = new Trieda().metoda(); este nefunguje? Alebo retazenie metod? Ono by to velmi urychlovalo kod. |
||
Tori Profil |
#11 · Zasláno: 14. 10. 2013, 15:44:11
(new Trieda())->metoda() od PHP 5.4, viz http://www.php.net/manual/en/migration54.new-features.php
Pokud metoda vrací $this (nebo jinou instanci), lze řetězit:
$jidlo = (new Polivka())->pridej('masox')->pridej('cibuli')->pridej('kroupy')->pridej('sekerku')->uvar(); |
||
alfa47 Profil |
#12 · Zasláno: 15. 10. 2013, 23:10:43
Tori:
Super, vdaka :) To aby som si dal PHP 5.4, teraz mam 5.3 a bojim sa to menit, lebo to mam cez XAMPP a mozno sa mi to cele pokazi. ;-(( |
||
Časová prodleva: 12 let
|
0