Lege waarde in array verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

22/11/2019 11:19:37
Quote Anchor link
Ik heb een loop die vierkante meters laat zien, het probleem is dat aan het einde lege waardes te zien zijn en deze gaan niet weg met array filter. Wat kan ik hieraan doen?

Dit is mijn php code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?PHP
  // Explode de staffel om de basis prijs eruit te halen
  $explodedstaffel = explode(';', $productarray['basisstaffel']);

  // Loop het elke regel
  foreach($explodedstaffel as $staffelregel){
    // Explode elke regel op : voor vierkante meters en prijs
    $explodeformatandprice = explode(':', $staffelregel);
    // Explode de vierkante meters op laagste en hoogste getal
    $explodedvierkantemeters = explode('-', $explodeformatandprice[0]);
    // Filter lege waardes uit array
    $explodedvierkantemeters = array_filter($explodedvierkantemeters, 'strlen');

    echo 'Tussen: '.$explodedvierkantemeters[0].'<br>';

    echo 'En: '.$explodedvierkantemeters[1].'<br>';
  }

?>


En dit is de waarde van $productarray['basisstaffel'] :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
3-10:17;
10-20:14;
20-30:12;
30-40:10;
40-50:7,50;
50-60:6,50;
60-110:6;


De lijst die ik nu krijg is:

Tussen: 3
En: 10
Tussen: 10
En: 20
Tussen: 20
En: 30
Tussen: 30
En: 40
Tussen: 40
En: 50
Tussen: 50
En: 60
Tussen: 60
En: 110
Tussen:
En:

Zoals je ziet staan onderaan twee lege waardes. Hoe kan ik die eruit filteren? In mijn database staat geen witregel die ik kan zien op de laatste regel, en als ik filter op "\n" zijn alle waardes leeg omdat elke regel een witregel heeft.
 
PHP hulp

PHP hulp

22/12/2024 04:47:06
 
- SanThe -

- SanThe -

22/11/2019 11:29:22
Quote Anchor link
$explodedstaffel = explode(';', $productarray['basisstaffel']);

Als er achter elk item een puntkomma staat dan is het laatste record leeg.
Haal die laatste puntkomma weg of check in de foreach() of het record niet leeg is.
 
Snelle Jaap

Snelle Jaap

22/11/2019 11:43:40
Quote Anchor link
Ohja tuurlijk logisch. Thanks het is opgelost.
 
Thomas van den Heuvel

Thomas van den Heuvel

22/11/2019 13:59:53
Quote Anchor link
Heb je zelf de controle over $productarray? Waarom sla je dit dan niet wat intelligenter op? Nu moet je ook een heleboel bewerkingen uitvoeren om dat ding weer uit te pakken. Al nagedacht over JSON?
 
Rob Doemaarwat

Rob Doemaarwat

22/11/2019 14:39:09
Quote Anchor link
array_filter, gewoon zonder $callback.
 
Snelle Jaap

Snelle Jaap

22/11/2019 15:58:48
Quote Anchor link
Thomas van den Heuvel op 22/11/2019 13:59:53:
Heb je zelf de controle over $productarray? Waarom sla je dit dan niet wat intelligenter op? Nu moet je ook een heleboel bewerkingen uitvoeren om dat ding weer uit te pakken. Al nagedacht over JSON?

Helaas niet, json is voor degene die met dit cms aan de slag gaat een stuk omslachtiger dan hoe het nu staat. Voor een programmeur is het beter maar voor een leek niet. En het CMS forceert me helaas het zo op te lossen.
 
- Ariën  -
Beheerder

- Ariën -

22/11/2019 16:16:23
Quote Anchor link
Wat heeft een leek met JSON te maken?
Laat een leek het op een normale manier invoeren, waarna het automatisch wordt gevormd tot een JSON-string.
 
Thomas van den Heuvel

Thomas van den Heuvel

22/11/2019 16:30:09
Quote Anchor link
Inderdaad. Ik hoop van harte dat alle gebruikers die informatie moeten invoeren (zelfs programmeurs of wie dan ook die hier meer kaas van gegeten hebben) hier gewoon een fatsoenlijke interface voor hebben (die zijn per slot van rekening ook geen rauwe JSON aan het inkloppen), waarna dit dus onder water wordt omgezet in een soort van datastructuur die nagenoeg direct weer uit te lezen valt (json_decode() en je bent klaar?).

Het voordeel daarvan is tevens dat deze "lap tekst" van zichzelf betekenis heeft, en niet zomaar een lap tekst is met punten en komma's in een soort van custom formaat die je op een specifieke manier in elkaar moet draaien en op een specifieke manier dient te ontmantelen.
 



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.