Lege waarde in array verwijderen
Dit is mijn php code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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>';
}
?>
// 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'] :
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.
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.
Ohja tuurlijk logisch. Thanks het is opgelost.
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?
array_filter, gewoon zonder $callback.
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.
Laat een leek het op een normale manier invoeren, waarna het automatisch wordt gevormd tot een JSON-string.
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.