Bonjour,
Ma question se résume au titre, je cherche à conserver uniquement les 12 derniers éléments de mon array.
Google sur ce coup n'est pas ami.
Quelqu'un aurait il la solution ?
En vous remerciant.
Version imprimable
Bonjour,
Ma question se résume au titre, je cherche à conserver uniquement les 12 derniers éléments de mon array.
Google sur ce coup n'est pas ami.
Quelqu'un aurait il la solution ?
En vous remerciant.
avec un array_slice
Super, merci à toi !
bonne fin de journée
Je ne comprends pas, je fais :
Code:
1
2
3 $conso = explode(',', $history); unset($conso['0']); print_r(array_slice($conso, 11));
qui me donne :
Citation:
Array ( [0] => 6 [1] => 5 [2] => 5 [3] => 4 [4] => 5 [5] => 2 [6] => 4 [7] => 3 [8] => 6 [9] => 5 [10] => 1 [11] => 6 [12] => 3 [13] => 5 [14] => 4 [15] => 5 [16] => 2 [17] => 1 [18] => 4 [19] => 4 [20] => 6 [21] => 4 [22] => 3 [23] => 2 [24] => 4 )
le premier paramètre c'est offset, t'attendais quoi ?
Les 12 derniers enregistrements.
D'après la doc :
Donc array_slice($conso, 11) me parait correct je ne comprends pas.Citation:
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // retourne "c", "d", et "e"
J'ai loupé quelque chose ?
montre ta chaine d'origine
Merci de ta patience.
Ma chaine d'origine $history renvoi :
Mon but à la base est d'extraire de cette chaine les 12 dernières valeurs différentes de 0Citation:
0,1,1,3,1,3,2,6,2,3,3,2,2,5,5,1,1,2,1,4,0,4,3,1,0,0,0,0,0,0,0,0,0,
Code:
1
2
3
4
5
6
7
8
9 <?php // J'extrait les 0 de ma chaine : $history = str_replace(",0,",",",$history); $conso = explode(',', $history); // PS : Unset ne supprime pas les '0' : unset($conso[0]); print_r(array_slice($conso, 11));
Code:
1
2
3 $str = '0,1,1,3,1,3,2,6,2,3,3,2,2,5,5,1,1,2,1,4,0,4,3,1,0,0,0,0,0,0,0,0,0,'; $items = array_filter(explode(',', $str)); print_r(array_slice($items, count($items) - 12));
LA star.
Bravo
Merci !
Sinon, tu pouvais aussi utiliser un offset négatif :
Citation:
Envoyé par php.net
Code:array_slice($items, -12);