diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index f3af6b14f2890782a6c5a8c0f051db7e023f52ac..1a869b06ee641c7489036fd84f29c05b1b6fb060 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -1103,7 +1103,7 @@ function liste_rubriques_auteur($id_auteur, $raz = false) {
 		)
 		and count($r)
 	) {
-		$r = array_map('reset', $r);
+		$r = array_column($r, 'id_objet');
 
 		// recuperer toute la branche, au format chaine enumeration
 		include_spip('inc/rubriques');
@@ -1730,7 +1730,7 @@ function auteurs_objet($objet, $id_objet, $cond = '') {
 		$where
 	);
 	if (is_array($auteurs)) {
-		return array_map('reset', $auteurs);
+		return array_column($auteurs, 'id_auteur');
 	}
 	return array();
 }
diff --git a/ecrire/inc/filtres_ecrire.php b/ecrire/inc/filtres_ecrire.php
index 12f7fe667820902056dc2852504d45a931ac8da8..e201bb71c3a1d2e474beb04a483481fffcf45733 100644
--- a/ecrire/inc/filtres_ecrire.php
+++ b/ecrire/inc/filtres_ecrire.php
@@ -204,7 +204,7 @@ function statuts_articles_visibles($statut_auteur) {
 	static $auth = array();
 	if (!isset($auth[$statut_auteur])) {
 		$auth[$statut_auteur] = array();
-		$statuts = array_map('reset', sql_allfetsel('distinct statut', 'spip_articles'));
+		$statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut');
 		foreach ($statuts as $s) {
 			if (autoriser('voir', 'article', 0, array('statut' => $statut_auteur), array('statut' => $s))) {
 				$auth[$statut_auteur][] = $s;
@@ -316,7 +316,7 @@ function auteurs_lister_statuts($quoi = 'tous', $en_base = true) {
 			$statut = AUTEURS_MIN_REDAC;
 			$statut = explode(',', $statut);
 			if ($en_base) {
-				$check = array_map('reset', sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)));
+				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
 				$retire = array_diff($statut, $check);
 				$statut = array_diff($statut, $retire);
 			}
@@ -331,19 +331,23 @@ function auteurs_lister_statuts($quoi = 'tous', $en_base = true) {
 				// prendre aussi les statuts de la table des status qui ne sont pas dans le define
 				$statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus);
 			}
-			$s_complement = array_map('reset',
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')));
+			$s_complement = array_column(
+				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')),
+				'statut'
+			);
 
 			return array_unique(array_merge($statut, $s_complement));
 			break;
 		default:
 		case "tous":
 			$statut = array_values($GLOBALS['liste_des_statuts']);
-			$s_complement = array_map('reset',
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')));
+			$s_complement = array_column(
+				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')),
+				'statut'
+			);
 			$statut = array_merge($statut, $s_complement);
 			if ($en_base) {
-				$check = array_map('reset', sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)));
+				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
 				$retire = array_diff($statut, $check);
 				$statut = array_diff($statut, $retire);
 			}
diff --git a/ecrire/inc/filtres_selecteur_generique.php b/ecrire/inc/filtres_selecteur_generique.php
index d560606c3f75118f0f728e9b40d4b592734f1626..32e8d8854c751aa3ffb30026afa2f91ced0dd3e2 100644
--- a/ecrire/inc/filtres_selecteur_generique.php
+++ b/ecrire/inc/filtres_selecteur_generique.php
@@ -208,15 +208,15 @@ function test_enfants_rubrique($id_rubrique, $types = array()) {
 		// recuperer tous les freres et soeurs de la rubrique visee
 		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
 		$fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent=' . intval($id_parent));
-		$fratrie = array_map('reset', $fratrie);
+		$fratrie = array_column($fratrie, 'id_rubrique');
 		$has = sql_allfetsel('DISTINCT id_parent', 'spip_rubriques', sql_in('id_parent', $fratrie));
-		$has = array_map('reset', $has);
+		$has = array_column($has, 'id_parent');
 		$fratrie = array_diff($fratrie, $has);
 
 		while (count($fratrie) and is_array($types) and count($types)) {
 			$type = array_shift($types);
 			$h = sql_allfetsel('DISTINCT id_rubrique', table_objet_sql($type), sql_in('id_rubrique', $fratrie));
-			$h = array_map('reset', $h);
+			$h = array_column($h, 'id_rubrique');
 			$has = array_merge($has, $h);
 			$fratrie = array_diff($fratrie, $h);
 		}
diff --git a/ecrire/inc/genie.php b/ecrire/inc/genie.php
index 833fb786dcc2ba00afc5beaf859c045b9e2d9928..023c7c18d834af92c32c65bef2f4333555adb134 100644
--- a/ecrire/inc/genie.php
+++ b/ecrire/inc/genie.php
@@ -154,7 +154,7 @@ function genie_queue_watch_dist() {
 	$deja_la = true;
 	$taches = taches_generales();
 	$programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
-	$programmees = array_map('reset', $programmees);
+	$programmees = array_column($programmees, 'fonction');
 	foreach ($taches as $tache => $periode) {
 		if (!in_array($tache, $programmees)) {
 			queue_genie_replan_job($tache, $periode, time() - round(rand(1, $periode)), 0);
diff --git a/ecrire/inc/rubriques.php b/ecrire/inc/rubriques.php
index 4c13229cba1bb606220d10377886897a0021c175..dc5e750246dc4be0e7c9858f9a0ab33b2c46bc22 100644
--- a/ecrire/inc/rubriques.php
+++ b/ecrire/inc/rubriques.php
@@ -382,7 +382,7 @@ function propager_les_secteurs() {
 				"spip_rubriques",
 				"profondeur=" . intval($prof + 1) . " AND id_parent NOT IN (" . sql_get_select("zzz.id_rubrique",
 					"spip_rubriques AS zzz", "zzz.profondeur=" . intval($prof)) . ")", '', '', '0,100')) {
-			$rows = array_map('reset', $rows);
+			$rows = array_column($rows, 'id');
 			sql_updateq("spip_rubriques", array('profondeur' => $prof + 2), sql_in("id_rubrique", $rows));
 		}
 
@@ -663,7 +663,7 @@ function inc_calcul_branche_in_dist($id) {
 			'spip_rubriques',
 			sql_in('id_parent', $r) . " AND " . sql_in('id_rubrique', $r, 'NOT')
 		)) {
-		$r = join(',', array_map('reset', $filles));
+		$r = join(',', array_column($filles, 'id_rubrique'));
 		$branche .= ',' . $r;
 	}
 
@@ -718,7 +718,7 @@ function inc_calcul_hierarchie_in_dist($id, $tout = true) {
 			'spip_rubriques',
 			sql_in('id_rubrique', $ids_nouveaux_parents) . " AND " . sql_in('id_parent', $hier, 'NOT')
 		)) {
-		$ids_nouveaux_parents = join(',', array_map('reset', $parents));
+		$ids_nouveaux_parents = join(',', array_column($parents, 'id_parent'));
 		$hier = $ids_nouveaux_parents . (strlen($hier) ? ',' . $hier : '');
 	}