explode om de x karakters

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Klaasen

Bart Klaasen

21/09/2010 15:39:20
Quote Anchor link
Ik heb een string die ik om de 3 karakters wil onderverdelen in een array.

Voorbeeld

abcdefghijk:
[1] => ab
[2] => cde
[3] => fgh
[4] => ijk

Ik zou niet weten welke functie ik hiervoor moet gebruiken.
 
PHP hulp

PHP hulp

28/03/2024 20:45:35
 
The Ultimate

The Ultimate

21/09/2010 15:43:06
Quote Anchor link
'ab' != 3 tekens.

Is daar een reden voor of is dit gewoon een foutje?
 
Bart Klaasen

Bart Klaasen

21/09/2010 15:46:50
Quote Anchor link
Omdat de string in dit geval uit 11 karakters bestaan kun je het niet precies in gelijke stukken onderverdelen.

Van het eerste element maakt niet uit hoeveel karakters het zien, de rest moeten het er 3 zijn.

Edit: is er ook een functie dat ik de string om kan draaien (zoals gfedcba), dan maakt het laatste element niet uit hoeveel karakters het bestaat.
Gewijzigd op 21/09/2010 15:48:20 door Bart Klaasen
 
TJVB tvb

TJVB tvb

21/09/2010 15:48:16
Quote Anchor link
Het combineren van chunk_split en explode is iets wat me zo te binnen schiet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$tekst
= 'abcdefghijk';
$data = explode(PHP_EOL,chunk_split($tekst,3,PHP_EOL) );
var_dump($data);
?>
 
The Ultimate

The Ultimate

21/09/2010 15:49:06
Quote Anchor link
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
<?php

$string
= 'abcdefghijk';

$lengte = strlen($string);
$delen = floor($lengte / 3);

for($i = 1; $i < $delen + 1; $i++){

$min = (3 * $i) - 3;

echo $i.': '.substr($string,$min,3);
echo '<br />';

}

?>


Dit is slechts het begin. Dit houdt er nog geen rekening mee dat het eerste element variabel in lengte moet zijn. Maar dat kun je misschien zelf wel inbouwen.

Anders dan probeer eerst maar even, als het niet lukt help ik je wel weer verder.
 
TJVB tvb

TJVB tvb

21/09/2010 15:49:07
Quote Anchor link
Als die eerste anders moet zal jet het inderdaad even om moeten draaien.
 
Bart Klaasen

Bart Klaasen

21/09/2010 15:52:42
Quote Anchor link
Erg bedankt voor jullie hulp, ik kom hier wel verder mee!
 
The Ultimate

The Ultimate

21/09/2010 15:55:04
Quote Anchor link
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
19
20
21
22
23
24
25
26
27
28
29
<?php

$string
= 'abcdefghijk';

$lengte = strlen($string);
$delen = floor($lengte / 3);

$overschot = $lengte - ($delen * 3);

$ar = array();

$ar[] = substr($string,0,$overschot);

for($i = 1; $i < $delen + 1; $i++){

$min = (3 * $i) - (3 - $overschot);

$ar[] = substr($string,$min,3);

//echo $i.': '.substr($string,$min,3);
//echo '<br />';


}

echo '<pre>';
print_r($ar);
echo '</pre>';

?>
 
Bart Klaasen

Bart Klaasen

21/09/2010 15:57:54
Quote Anchor link
Wauw precies wat ik zocht, danku :)
 
The Ultimate

The Ultimate

21/09/2010 16:08:22
Quote Anchor link
Graag gedaan...!
 
SilverWolf NL

SilverWolf NL

21/09/2010 16:22:10
 
TJVB tvb

TJVB tvb

21/09/2010 16:24:02
Quote Anchor link
SilverWolf NL op 21/09/2010 16:22:10:


Lol, overheen gekeken. Had in mijn hoofd zitten dat die net zo werkte als explode ...
 
Bart Klaasen

Bart Klaasen

21/09/2010 16:48:00
Quote Anchor link
Jullie oplossing werkt iig ook:

http://webjoch.nl/cijfers.php
 



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.