Sort Arrray met lege entries

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paco de Wulp

Paco de Wulp

29/04/2015 22:51:45
Quote Anchor link
De volgende array:

$fruits = array("lemon", "orange", "banana", "apple" ," "," ");

Sorteren:
sort($fruits);

Geeft als resultaat:

$fruits[0] = ' '
$fruits[1] = ' '
$fruits[2] = 'apple'
$fruits[3] = 'banana'
$fruits[4] = 'lemon'
$fruits[5] = 'ornage'

Hoe zorg ik nu dat die eerste 2 lege plekken verdwijnen?
Gewijzigd op 29/04/2015 23:01:15 door Paco de Wulp
 
PHP hulp

PHP hulp

05/11/2024 17:17:10
 
Ozzie PHP

Ozzie PHP

29/04/2015 22:59:09
Quote Anchor link
Zo:

$fruits = array("lemon", "orange", "banana", "apple");
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/04/2015 23:02:06
Quote Anchor link
Als eerste: hoe en waarom komen die lege elementen in de array? Dat zou mijn vraag zijn. Immers als ze er niet inkomen dan hoef ik ze er ook niet uit te halen.

Antwoord op je vraag:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
foreach($fruits as $key => $fruit)
{

    if(trim($fruit) == '')
        unset($fruits[$key]);
}

sort($fruits);
?>
Gewijzigd op 29/04/2015 23:03:05 door Frank Nietbelangrijk
 
Paco de Wulp

Paco de Wulp

29/04/2015 23:03:30
Quote Anchor link
$fruits wordt gevuld door een gebruiker, die ook kan invoeren:

$fruits = array("lemon", " " , " " , "orange", "banana", "apple");
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/04/2015 23:05:13
Quote Anchor link
Paco de Wulp op 29/04/2015 23:03:30:
$fruits wordt gevuld door een gebruiker


En dat is dus de plek waar je dit probleem moet aanpakken. user input moet je zoveel mogelijk valideren.
 
Ozzie PHP

Ozzie PHP

29/04/2015 23:17:33
Quote Anchor link
Ik zie dat de beginpost inmiddels is aangepast. Zoals Frank dus zegt moet je zorgen dat er geen lege input in je array terecht kan komen. Je kunt ook bij het weergeven ervoor kiezen dat een lege waarde niet wordt getoond.
 
Eddy E

Eddy E

30/04/2015 20:26:11
Quote Anchor link
Frank Nietbelangrijk op 29/04/2015 23:02:06:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
foreach($fruits as $key => $fruit)
{

    if(trim($fruit) == '')
        unset($fruits[$key]);
}

sort($fruits);
?>


Oftewel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$fruits
= array_filter($fruits);
?>
 
Paco de Wulp

Paco de Wulp

01/05/2015 11:54:46
Quote Anchor link
Thx. :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.