Bonjour,
Exemple, la ligne 70 de inc/dictionnaires.php :
$dicos_actifs = array_map('reset', $dicos_actifs);
Je suis tombé sur ce site How to use array_map with reset callback in php 8 qui m’a permis de corriger en :
$dicos_actifs = array_map(function($v) { return reset($v); }, $dicos_actifs);
Est-ce que c’est la bonne méthode ?
maieul
(Maïeul Rouquette)
Avril 21, 2022, 9:28
2
la plupart du temps on utilisait cette construction pour faire ce qui désormais correspond à
$dicos_actifs = array_column($dicos_actifs, <nom d'une colonne sql>);
Il faut voir en contexte la raison d’être de ce array_map, pour voir ce qu’on veut vraiment récuperer.
RealET
Avril 21, 2022, 10:01
3
Je n’en ai aucune idée
Et je dois avouer que les tableaux en général en PHP, je trouve ça plus compliqué que les regexp
marcimat
(Matthieu Marcillaud)
Avril 21, 2022, 11:43
4
dictionnaires
Comme tu vois tu as ‹ id_dictionnaire › de sélectionné dans le sql_allfetsel.
C’est donc $dicos_actifs = array_column($dicos_actifs, 'id_dictionnaire');
ici pour ce que tu veux.
touti
(touti)
Avril 4, 2024, 9:40
6
Ah tiens sur le github de Laravel j’ai trouvé un remplacement avec
array_map('current', $autres_abonnements_actifs);
cf https://www.php.net/manual/fr/function.current.php
marcimat
(Matthieu Marcillaud)
Avril 4, 2024, 10:10
7
C’est mieux d’utiliser array_column
@touti ;
Tu trouveras plein de remplacements par ça un peu partout dans SPIP et les plugins. Par exemple
(C’est 2x plus rapide).