8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un soucis avec les tableaux php. J'ai une fonction qui en entré parcours un répertoire pour me retourner la liste des éléments au format JSON.

Pour se faire j'utilise le code suivant :


 Header("content-type: application/x-javascript");
	$objects = array();
	$dir = (($_GET['f']));
	if ($dir == NULL){$dir = "./documents/Pictures/Elise/";}
	listDir($dir);
	function listDir($dir)
	{
		if(isset($_GET['callbackName']))
    	       {
    		$connection = $_GET['callbackName'];
	    	$objects['success'] = 1;
    	
			$openedDir = opendir($dir);
			while(false !== ($folderList = readdir($openedDir)))
			{
			    if($folderList !="." && $folderList !="..")
	    		{
	    			if(is_dir($dir.'/'.$folderList)) //if is folder
		    		{
			    		$objet = array('type'=>'folder','name'=> $folderList,'href'=>$dir.'/'.$folderList);
						$objects['objects'][count($objects['objects'])+1] = array($objet);
					
				    }	
	    			else // It's a file 
	    			{
	    			
	    				
				    	$objet = array('type'=>'folder','name'=> $folderList,'href'=>$dir.'/'.$folderList);
						$objects['objects'][count($objects['objects'])+1] = array($objet);
				    	
			    	}		    	
		   		}
			}
		}
		echo($connection.'(' . json_encode($objects) . ');');
}



le Résultat :


callbackName({"success":1,"objects":{"1":[{"type":"folder","name":"IMAG0009.jpg","href":".\/documents\/Pictures\/Elise\/\/IMAG0009.jpg"}],"23":[{"type":"folder","name":"DSC_0038.JPG","href":".\/documents\/Pictures\/Elise\/\/DSC_0038.JPG"}]}});



Les éléments en rouge me posent probleme, et, il provienne de l'ajout de tableaux dans le tableau $objects['objects'] en faisant :


$objects['objects'][1] = array("key1"=>"val1", "key2"=>"val2");
$objects['objects'][2] = array("key1"=>"val1", "key2"=>"val2");


En revanche si je fais :

$tab1 = array("key1"=>"val1", "key2"=>"val2");
$tab2 = array("key1"=>"val1", "key2"=>"val2");

$objects = array($tab1,$tab2);


Je n'ais plus le problème des "index" du tableaux qui sont ajoutés à mon résultat JSON.

Ma requete est donc la suivante, existe-il un moyen pour soit supprimer les index du tableaux, soit ajouter des données dans un tableaux sans que cela n'ajoute des index ??

PS : je ne peux pas modifier ma fonction qui décode le JSON

Merci d'avance

Ben
Modifié par bentsen (29 Apr 2010 - 16:40)
Hello


J'ai trouvé!!

En faite le problème vient du fait que je commence à ajouter des données dans le tableau à partir de 1 et non 0.