Bonjour,

Je souhaite copier et transformer entièrement un tableau contentant des sous tableaux (un tableau à plusieurs dimensions).

Ce que j'écris c'est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// applatit, extractID: remplace dans l'array des résultats, les résultats par le seul ID
function extractID(&$item, $key) {
	$item=$item['idphoto'];
	}
function applatit($res) { // $res est passé par valeur
	$res=$res;
	if (is_array($res)) {
		array_walk($res,'extractID');
		return $res;
		} else {
		return null;
		}
	}
 
 
$res2=applatit($res);
$res2 est bien "applatit" mais $res aussi. Le problème se situe au niveau de la fonction applatit($res) qui, bien que prenant son paramètre par valeur, semble référencer les sous-tableaux au lieu de les recopier. Ceci m'est confirmé par la lecture des tuto sur php.net.

Si le problème est identifié, sa solution ne l'est pas !!!!

Comment donc copier un tableau en profondeur sans garder aucune référence au tableau d'origine ?

Merci pour le coup de main.