Hier ben ik weer :)
$g = $dataArray[$k][$kolomcounter];
$getal = floatval(trim($g));

mijn gelimiteerde data
12
7.95
5.95
7.5
6.99
4.99
37.95
5
0
9.99
4.2
8.5
5.25
Misschien zou je iets meer tijd kunnen investeren om uit te leggen wat je probleem is. Dit is wel heel summier en onduidelijk.
Er valt niet veel meer aan uit te leggen. 22.00 moet 12 terug geven en niet 1.
Jan R op 02/07/2025 12:18:45

22.00 moet 12 terug geven en niet 1.

De floatval() van de float 22.00 én die van de string '22.00' is de float 22:


<?php

//> float(22)
var_dump( floatval(22.00) );

//> float(22)
var_dump( floatval('22.00') );

?>


Hoe wordt 22.00 dan 12? En wáárom?
en is trim() in het echte script ook trim() en niet een functie die TRUE terug geeft?

12 ipv 22 lijkt me een vervelende typo
Trim gewoon toegevoegd voor mogelijke spaties.
22.00 is een typo. Moet wel degelijk 12.00. Zie ook start topic.
Debuggen:
<?php
$g = $dataArray[$k][$kolomcounter];

$trimmed = trim($g);

$getal = floatval($trimmed);

echo 'debug: $g . ' -- ' . $trimmed . ' -- ' . $getal . '<br>' . PHP_EOL;
?>

[size=xsmall]Toevoeging op 03/07/2025 12:12:53:[/size]

Is $dataArray[$k] wel een array?

Want als het een string (of getal) is en je benadert hem als een array, dan maakt hij van die string een array van losse letters:

$naam = "jan";
echo $naam[1]; // zal "a" geven.

En met $kolomcounter gelijk aan 0 zal hij het eerste teken uit de "string" 12 pakken: 1
Probleem gevonden. Ik gebruikte de verkeerde key :(

Reageren