PHP Max() incorrect
Danny von Gaal
04/11/2017 12:39:31Ik 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?
PHP hulp
05/11/2024 22:23:40Adoptive Solution
04/11/2017 12:52:17Die ander is 121, niet 12.
En 2 is groter dan 1.
Probeer dit :
http://php.net/manual/en/function.natsort.php
Toevoeging op 04/11/2017 12:58:55:
Hier het voorbeeld, aangevuld met uw waarden :
En 2 is groter dan 1.
Probeer dit :
http://php.net/manual/en/function.natsort.php
Toevoeging op 04/11/2017 12:58:55:
Hier het voorbeeld, aangevuld met uw waarden :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<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>
<?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>
Frank Nietbelangrijk
04/11/2017 13:27:13De waardes die jij laat zien zijn niet numeriek.
numeriek voor een computer is bijvoorbeeld
hooguit één punt en geen komma's dus
numeriek voor een computer is bijvoorbeeld
hooguit één punt en geen komma's dus
Gewijzigd op 04/11/2017 13:28:56 door Frank Nietbelangrijk
Danny von Gaal
04/11/2017 14:07:02Sorry 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.
Ik heb dit eruit gehaald en nu werkt max(); wel.
Gewijzigd op 04/11/2017 14:09:20 door Danny von Gaal