[PHP] String splitten op aantal karakters.

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik wil een string splitten op een aantal karakters en in een array stoppen. Ik zal even een voorbeeldje geven, want ik kan het niet echt makkelijk uitleggen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

$string = "111111112222222233333333";

/*

Dit moet de volgende array worden:

Array
(
  [0] => "11111111",
  [1] => "22222222",
  [2] => "33333333"
)

*/

?>


Ik hoop dat het duidelijk is.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

heeft het een vaste lengte?

Doet iets met Cloud (MS/IBM)


  • KnoppenSpook
  • Registratie: Augustus 2000
  • Laatst online: 04-09-2023
kan je niet iets met een preg_match, [1+] (ben geen ster hierin, roep ook maar wat)

oftewel, eerste karakter en dat repetent, dan weet je de positie van het volgende karakter, die weer repetent, etc, dan weet je alle plaatsen waar een verandering in je string optreeds, om het zo maar te zeggen

[ Voor 57% gewijzigd door KnoppenSpook op 19-12-2002 16:11 ]

/me weet geen leuke quote voor in zijn signature


Verwijderd

Topicstarter
De lengte is: `x * 8`

Dus je kunt altijd delen door 8 om het aantal stukjes te tellen.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

beetje hobby-en met substr() :?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Daar ben ik mee bezig, maar ik krijg nu steeds dit:

PHP:
1
2
3
4
5
6
7
8
<?php

for($i = 0; $i < strlen($string) / 8; ++$i)
{
  $parts[] = substr($string, $i * 8, ($i + 1) * 8);
}

?>


Uitkomst:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
    [0] => 01001000
    [1] => 0110010101101100
    [2] => 011011000110110001101111
    [3] => 01101100011011110010000001010111
    [4] => 0110111100100000010101110110111101110010
    [5] => 001000000101011101101111011100100110110001100100
    [6] => 010101110110111101110010011011000110010000100001
    [7] => 0110111101110010011011000110010000100001
    [8] => 01110010011011000110010000100001
    [9] => 011011000110010000100001
    [10] => 0110010000100001
    [11] => 00100001
)

Verwijderd

Topicstarter
Ik had niet goed, naar substr() gekeken |:(.

PHP:
1
2
3
4
5
6
7
8
<?php 

for($i = 0; $i < strlen($string) / 8; ++$i) 
{ 
  $parts[] = substr($string, $i * 8, 8); 
} 

?> 
Pagina: 1