Sort Arrray met lege entries

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Support Specialist met doorgroeimogelijkheden

Support Specialist met doorgroeimogelijkheden Amersfoort, Nederland __________________________________________________________________________ Functieomschrijving Je kerntaken bestaan uit het reageren op vragen van onze klanten op een tijdige en nauwkeurige manier via ons online supportsysteem, e-mail of telefoon. Klantenbehoeften identificeren en klanten helpen bij het gebruik van specifieke functies. Foutmeldingen analyseren en melden. In deze afwisselende functie heb je dagelijks contact met leveranciers, automatiseerders en retailers in de (non)food-, fashion- en doe-het-zelfbranche. Er zijn absoluut doorgroeimogelijkheden zodra je kennis van onze applicaties op het niveau is dat deze geen geheimen meer voor je hebben. Je staat sterk in je schoenen, onderscheidt hoofdzaken van bijzaken en weet

Bekijk vacature »

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

22/10/2020 05:08:20
 
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.