PHP veľkosť - explode array

Programovacie jazyky, rady, poradňa...
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

PHP veľkosť - explode array

Príspevok od používateľa S-player »

Zdravím, mám menší problém s veľkosťou poľa, prejdem rovno na príklad.

Kód: Vybrať všetko

$a = "1.2.3";
$a = explode(".", $a);
echo count($a); // 3 [ OK ]

$a = "";
$a = explode(".", $a);
echo count($a); // 1 [ BAD ], potrebujem "0"
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Re: PHP veľkosť - explode array

Príspevok od používateľa jorg22 »

explode ti premennu $a zmeni na pole ale jeho obsah nezmeni stale ta premenna obsahuje "". Ak chces aby ostala prazdna tak $a = NULL, teraz tam naozaj nic nieje.
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: PHP veľkosť - explode array

Príspevok od používateľa S-player »

No lenže null tam nemám ako dať, nebudem stále kontrolvať DB a ,ak sa rovná $a=""; tak tam hodím null..
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Re: PHP veľkosť - explode array

Príspevok od používateľa jorg22 »

a co konkretne potrebujes? Ked ti vadi jeden riadok kodu naviac tak sparav toto: :D

Kód: Vybrať všetko

$a = "";
$a = $a == "" ? NULL : explode(".", $a);
echo count($a); 
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: PHP veľkosť - explode array

Príspevok od používateľa S-player »

No najviac by sa mi zišli nejaká metoda respektíve funkcia ,ktorá by to prefiltrovala. Umiestnená by bola rovno v echu prípadne nejaká iná metoda ,ktorá mi rozbije ten reťazec na pole a "" bude ignorovať...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP veľkosť - explode array

Príspevok od používateľa harrison314 »

Skus toto

Kód: Vybrať všetko

function rozbi($str,$a)
{
  $e = count(explode($str,$a));
  return ($e==1)? 0:$e;
}
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: PHP veľkosť - explode array

Príspevok od používateľa S-player »

Práve takúto odpoved som očakával :D. Potreboval by som skôr nejakú "internú" PHP metodu kde by nebolo nutné nič dorábať. Takáto alternatíva ,ale aj tá vyššie ma samozrejme ,že napadla.

// A aj tak je tá tvoja funkcia zlá, pretože ,ak je dlžka resp. veľkosť poľa 1 vraciaš nulu ,ale ked bude $a = "1" tak explode hodí dlžku "1" čo je dobré no a ty by si vrátil nulu. Muselo by tam byť to čo je už vyššie napísane

Kód: Vybrať všetko

$a == "" ? NULL : explode(".", $a);
to tam nakoniec asi aj budem musieť dať kedže sa mi nepodarilo nič najsť :(
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP veľkosť - explode array

Príspevok od používateľa harrison314 »

A preco je problem pouzit vlastnu trojriadkovu funkciu?
Napísať odpoveď