[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
NapísalOffline : 27.11.2012 12:09 | Pomoc s implode

Nazdarek. Potreboval by som poradit s f.-ciou implode. Mam takyto skript:
Kód:
$pole=array("hodnota1", "hodnota2", "hodnota3", "hodnota4");
$odstranit="hodnota2";

$rozdelPole=explode(", ", $pole);
      foreach ($rozdelPole as $hladaj) {
        if ($hladaj==$odstranit) { $hodnota=""; }
        else {$hodnota=$hladaj; }
        $noveHodnoty[]=$hodnota;
      }
$novePole=implode(", ", $noveHodnoty);

Po spusteni skriptu je vysledok takyto:
Kód:
$pole=array("hodnota1", , "hodnota3", "hodnota4");

No a ja samozrejme potrebujem aby som nemal za sebou tie dva oddelovace. Cize pozadovany vysledok by ma byt:
Kód:
$pole=array("hodnota1", "hodnota3", "hodnota4");

Neviete mi poradit ako to opravit??


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 11.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 27.11.2012 13:19 | Pomoc s implode

V php funguje aj niečo takéto :)
Kód:
$pole = array("hodnota1", "hodnota2", "hodnota3", "hodnota4");
$odstranit="hodnota2";

var_dump ( $pole );

for ( $i = 0; $i < count($pole); $i++ )
{
   if ( $pole[$i] == $odstranit )
      unset( $pole[$i] );
}

var_dump ( $pole );


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 11.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 27.11.2012 13:23 | Pomoc s implode

Aj keď teda tu potom nebude sedieť indexovanie.
Dalo by sa to spraviť tak, že potom, čo zmažeš hodnotu, celé pole za ňou posunieš o jedno do ľava a jeho veľkosť znížiš o jedna (unset na posledný prvok)

Príp. to kopírovať do poľa nového - okrem tej hodnoty, ktorú tam nechceš.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Správca fóra
Správca fóra
Pomoc s implode

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 27.11.2012 15:16 | Pomoc s implode

Alebo jednoducho pouzitim vstavanej funkcie:
Kód:
$pole = array_diff($pole, array($odstranit));

Naozaj ti funguje explode pola? Podla tvojho kodu zrejme ano...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 28.11.2012 10:46 | Pomoc s implode

Tak nakoniec som to cele vyriesil celkom inac..Aj ked neviem ci je to zrovna to najlepsie riesenie...no funguje..Ide o to, ze tie hodnoty potrebujem ukladat do DB a nasledne ich neskôr zobrazit. Tak namiesto pola pouzijem retazec. A skript teraz vyzera nasledovne:
Kód:
$pole="hodnota1,hodnota2,hodnota3,hodnota4";
$odstranit="hodnota2";

$nahradit=array("$odstranit,", "$odstranit", ",,");
$novePole= str_replace($nahradit, "", $pole);

Ako hovorim..neviem ci toto je to najlepsie riesenie, no funguje presne tak ako potrebujem... ;)
stenley..ta tvoja f.cia sa mi tiez celkom hodila, ale v inom skripte..
Vdaka za rady..


 [ Príspevkov: 5 ] 


Pomoc s implode



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Explode - Implode

v PHP, ASP

3

120

27.11.2013 17:13

Joffi

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc pomoc prosim nefunguje internet

v Ovládače

7

215

09.09.2017 20:37

Smith Wesson

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v PHP, ASP

2

436

02.02.2008 17:17

Punker661

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v JavaScript, VBScript, Ajax

2

541

15.05.2009 20:15

firewall

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc

v ATI/AMD grafické karty

3

555

02.01.2008 7:51

Daron

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v Monitory, televízory a projektory

2

570

19.02.2008 13:40

patqo_he

V tomto fóre nie sú ďalšie neprečítané témy.

POMOC

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

30

1572

27.09.2009 20:01

workoholik16

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v nVidia grafické karty

1

637

02.02.2007 10:51

Harlequin

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc

v Počítačové hry

2

207

13.06.2012 18:02

PepeTheDragon

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v Kôš

1

37

25.04.2017 20:16

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v Ostatné

13

612

08.08.2009 22:16

malcolm

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

pomoc

v Počítačové hry

5

237

28.06.2011 16:32

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v PHP, ASP

6

457

01.08.2008 16:27

Darkeye18

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc

v ATI/AMD grafické karty

10

585

10.01.2008 8:48

kasom

V tomto fóre nie sú ďalšie neprečítané témy.

POMOC ???

v Delphi, Visual Basic

2

901

27.03.2008 14:32

Martinek6

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc

v Audio programy

4

678

05.02.2008 10:06

raikonen11



© 2005 - 2017 PCforum, edited by JanoF