Ik heb de volgende string : $tekst

Le Pain de Sucre, D 921, 65120 Gavarnie, Frankrijk

gescheiden door een komma

Ik zou daar 2 strings willen van maken nl
ps : niet elke string heeft dezelfde lengte, werken op de komma.

string 1 :Le Pain de Sucre, D 921, 65120 Gavarnie
string 2 :Frankrijk

Hoe kan ik dit oplossen ?
Sorry

Maar daar ben ik niks mee.

In $tekst kunnen 3 komma's zitten maar ook maar 2
vb
La Piltière, Route de Châteauneuf, 16290 Hiersac, Frankrijk = 3 kommas
17 Place du 8 Mai, 65120 Luz-Saint-Sauveur, Frankrijk 2 komma's

Het is de bedoeling om Frankrijk appart in een string te steken , en de rest ook in een string .


Als ik op Google zoek op 'php split string' dan vind ik direct wat je wilt.
Ariën,

Bedankt maar ik vind daar mijn oplossing niet terug aangezien mijn $tekst niet altijd even groot is.

Als ik het volgende doe op een $tekst met 3 komma's lukt het, maar als er maar 2 komma's zijn
error Undefined array key 3

$array= explode(',',$tekst,4);
$land=$array[3];
Kijk eens naar de inhoud van je array?
<?php
echo "<pre>".print_r($array,true)."</pre>";
?>
Dan moet je wel zien wat er fout gaat.
Want je roept nu key 3 aan, maar die bestaat blijkbaar niet.
blijkbaar moet ik eerst kijken in mijn string $tekst hoeveel komma's er in zitten dan pas kan ik weten of ik key 3 of key 2 moet aanspreken .
Je kan toch met isset() bepalen of er eentje bestaat?
Je met met count() zien hoeveel elementen een array telt.

Kortweg:

Drie elementen: Adres zonder naam
Vier elementen: Adres met naam
en er is zelf een functie om het laatst element van een array te pakken te krijgen:

https://www.php.net/end

Hoef je niet eens te tellen.
Maar je kunt ook eerst zoeken naar de laatst voorkomende komma:

https://www.php.net/strrpos en dan vanaf daar met substr() werken.

Er zijn heel wat wegen om naar Rome te komen in dit geval.

NB: ik zou ook nog even kijken of je geen trim() nodig kunt hebben om wat overtollige spaties kwijt te raken.
Het probleem is dat je wilt weten of de naam ontbreekt?
In dat geval:

Drie elementen: Adres zonder naam
Vier elementen: Adres met naam
Hallo allemaal,

Ik heb het gevonden met explode en daarna de count te doen op array en zo deze te lezen.

iedereen hartelijk bedankt voor de vele tips en zeker de goede tips.

nogmaals bedankt.

Reageren