Ik heb onderstaande array maar php max laat de tweede waarde "[2017-11-02] => 26.45547146220,14" als max zien ipv de eerste die toch echt groter is. Ik denk omdat die met 26 begint en die ander met 12? Hoe kan ik dit verhelpen?


Array
(
    [2017-11-04] => 121.25424420175,15
    [2017-11-02] => 26.45547146220,14
    [2017-11-01] => 2.20462262185,13
)

Die ander is 121, niet 12.

En 2 is groter dan 1.

Probeer dit :

http://php.net/manual/en/function.natsort.php

[size=xsmall]Toevoeging op 04/11/2017 12:58:55:[/size]

Hier het voorbeeld, aangevuld met uw waarden :

<pre>

<?php

$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);

$array3 = $array4 = Array
(
    '2017-11-04' => '121.25424420175,15',
    '2017-11-02' => '26.45547146220,14',
    '2017-11-01' => '2.20462262185,13'
);

asort($array3);
echo "Standard sorting\n";
print_r($array3);

natsort($array4);
echo "\nNatural order sorting\n";
print_r($array4);

?>

</pre>
De waardes die jij laat zien zijn niet numeriek.

numeriek voor een computer is bijvoorbeeld

123.45
123.456985632158
123

hooguit één punt en geen komma's dus
Sorry het was mijn fout. Ik had in de array values het id van de rij vanuit de db meegenomen achter de komma.

Ik heb dit eruit gehaald en nu werkt max(); wel.

Reageren