vymazanie prazdeno prvku z pola - php

Programovacie jazyky, rady, poradňa...
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

vymazanie prazdeno prvku z pola - php

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

Mam pole emailovych adries v ktorom sa nachadzaju aj prazdne prvky, ako ich odstranit?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

Kód: Vybrať všetko

foreach ($pole as $key => $value) {
  if (is_null($value)) {
    unset($pole[$key]);
  }
}
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

ale ak mas $pole indexovane, napr.

Kód: Vybrať všetko

Array(
[0] => email0
[1] => nic
[2] => email2
...
)
a spravis unset($pole[1]);

tak ti zostane

Kód: Vybrať všetko

Array(
[0] => email0
[2] => email2
...
)
preto by som to radsej cele presiel a kontroloval ci je to prazdne a vyrobil si pole nove bez prazdnych zaznamov...
// ak sa mylim opravte ma :)
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

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

na prechadzanie takeho pola mozes stale pouzit foreach
(alebo aj ine cykly)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

ako qwixt spomína, vždy môžeš polom prechádzať pomocou foreach, ale ak to potrebuješ mať inexované znova od nuly, stačí na koniec pridať $novepole = array_values($pole);
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

ja som vlastne myslel toto co audiotrack napisal:

Kód: Vybrať všetko

$novepole = array_values($pole);
ja len tak ze pozor na to :)
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

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

dik :)

//nejak mi to stale nefunguje

Kód: Vybrať všetko

$data = file("file");
$count = count($data);
foreach ($data as $key => $value) 
{ 
  if (is_null($value)) 
  { 
    unset($data[$key]); 
  } 
}

$novepole = array_values($data);

FOR ($j=0; $j<=$count; $j++)
{
echo "$novepole[$j]<br/>";
}
v subore file su len emailove adresy a niekedy prazdny riadok
...
Expert
Expert
Príspevky: 157
Registrovaný: 07 apr 2006, 18:13

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

is_null() nerobi to co chces, pretoze "prazdne riadky" nie su tak celkom prazdne - obsahuju "\n" (pripadne "\r\n") - cize is_null() vrati vzdy false. A ono vlastne ani prazdny string by nebol to iste co NULL...

skus

Kód: Vybrať všetko

if (!trim($value))
Napísať odpoveď