Mijn probleem is als volgt: ik wil een string (altijd bestaande uit integers, gescheiden door een punt) kunnen opsplitsen in elementen zonder die punt. Dit lukt aardig (met behulp van GoT: [rml][ PHP] arrays vraag![/rml]):
Nu wil ik met die elementen (4 in dit geval) een nieuwe string kunnen bouwen, met elke gewenste lengte tussen 1 en $arrayTotal. Drie voorbeelden in pseudo-code:
Wie kan mij op weg helpen met hetgeen er in deze loop moet gebeuren? Ik weet dat er iets moet gebeuren als (pseudo code voor weergeven van 1.8.26):
De vraag is alleen hoe ik $nieuweString = array() automatisch gevuld krijg met het juiste aantal elementen. In het voorbeeld hierboven heb ik array('1', '8', '26') met de hand ingetikt - wat ik van iemand hier hoop te horen hoe deze automatisch gevuld kan worden. Ik hoop dat mijn vraag duidelijk is, zo laat in de avond
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| $string = '1.8.26.43'; $array = explode(".", $string); $arrayTotal = count($array); /* dit levert op: * * $array[0] = 1 * $array[1] = 8 * $array[2] = 26 * $array[3] = 43 * $arrayTotal = 4 * */ |
Nu wil ik met die elementen (4 in dit geval) een nieuwe string kunnen bouwen, met elke gewenste lengte tussen 1 en $arrayTotal. Drie voorbeelden in pseudo-code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| // om alleen $array[0] weer te geven for ($i = 0; $i < 1; $i++) { // doe iets waardoor de output '1' is } // om $array[0].$array[1] weer te geven for ($i = 0; $i < 2; $i++) { // doe iets waardoor de output '1.8' is } // om $array[0].$array[1].$array[2].$array[3] weer te geven for ($i = 0; $i < 4; $i++) { // doe iets waardoor de output '1.8.26.43' is } |
Wie kan mij op weg helpen met hetgeen er in deze loop moet gebeuren? Ik weet dat er iets moet gebeuren als (pseudo code voor weergeven van 1.8.26):
PHP:
1
2
3
| $nieuweString = array('1', '8', '26') $output = implode(".", $nieuweString); echo $output; // geeft 1.8.26 |
De vraag is alleen hoe ik $nieuweString = array() automatisch gevuld krijg met het juiste aantal elementen. In het voorbeeld hierboven heb ik array('1', '8', '26') met de hand ingetikt - wat ik van iemand hier hoop te horen hoe deze automatisch gevuld kan worden. Ik hoop dat mijn vraag duidelijk is, zo laat in de avond
[ Voor 31% gewijzigd door Reveller op 17-01-2004 03:55 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."