Ik ben met de volgende oefening bezig:

http://www.w3resource.com/php-exercises/php-array-exercise-18.php

Ik begrijp niet goed waarvoor deze lijn dient:

$number_part[1]=substr_replace($number_part[1],$separator,$precision,0);

Als je de lijn ertussenuit haalt is het resultaat exact hetzelfde.

Hebben jullie enig idee?

Groetjes!
Het verandert $number_part[1] (dus de 2e waarde van die array, genaamd $number_part).
Een deel van de string wordt vervangen door $separator (de <br> denk ik).
Hij begint met vervangen vanaf $precision (de komma in je voorbeeld).
Gezien je 0 geeft als lengte, neemt hij de rest van de string.
Wat hij dus doet: is alles na de eerste komma vervangen door een <br> (= enter).

De functie substr_replace "Replaces text within a portion of a string".
Dus het vervangt een stukje tekst door andere tekst, in een deel van de string (tekenreeks).

Dit is de syntax:
mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

Van http://www.php.net/substr_replace

Eigenlijk zou je dit veel beter via str_split() kunnen doen, want dat doe je nu in feitelijk ook.
En getallen afronden doe je beter met round().
Naar beneden afronden met floor() en naar boven afronden met abs().

Bedankt Eddy! De separator is wel geen <br>, maar '.'. Groeten!
Eddy E op 10/07/2015 21:24:16

Naar beneden afronden met floor() en naar boven afronden met abs().


Naar beneden => floor().
Naar boven => ceil().
Positief maken van een negatief getal => abs().
Inderdaad SanThe, ceil() moet het zijn!
Sorry!
abs() rondt niets af. Het veranderd negatieve getallen naar positieve getallen.
Klopt, SanThe verbeterde mij ook terecht al.

Reageren