Supprimer un array dans un array qui se trouve dans un fichier json

Petit nouveau ! | 5 Messages

13 mai 2015, 00:42

Bonsoir ,
Bonjour, j'ai un fichier json (boites.json) qui contient des informations suivantes :

Code : Tout sélectionner

{ "boite": "VERTE", "items": [ { "prix": "2.00", "quantite": "1", "type": "fruits", "nom_de_produits": "pomme", "tax": [ { "prix": "0.10", "quantite": "1", "nom_de_produits": "TVA" }, { "prix": "0.20", "quantite": "1", "nom_de_produits": "TVQ" } ] }, { "prix": "1.00", "quantite": "1", "type": "legumes", "nom_de_produits": "carottes", "tax": [ { "prix": "0.30", "quantite": "1", "nom_de_produits": "TVA" }, { "prix": "0.40", "quantite": "1", "nom_de_produits": "TVQ" } ] }, { "prix": "3.00", "quantite": "1", "type": "fruits", "nom_de_produits": "pommes", "tax": [ { "prix": "0.50", "quantite": "1", "nom_de_produits": "TVA" }, { "prix": "0.60", "quantite": "1", "nom_de_produits": "TVQ" } ] } ] }
Je voudrais enlever les articles qui ne sont pas de fruits
"type": "fruits",
"type": "legumes",
pour obtenir :

Code : Tout sélectionner

{ "boite": "VERTE", "items": [ { "prix": "2.00", "quantite": "1", "type": "fruits", "nom_de_produits": "pomme", "tax": [ { "prix": "0.10", "quantite": "1", "nom_de_produits": "TVA" }, { "prix": "0.20", "quantite": "1", "nom_de_produits": "TVQ" } ] }, { "prix": "3.00", "quantite": "1", "type": "fruits", "nom_de_produits": "pommes", "tax": [ { "prix": "0.50", "quantite": "1", "nom_de_produits": "TVA" }, { "prix": "0.60", "quantite": "1", "nom_de_produits": "TVQ" } ] } ] }
En fait, une fois que je supprime les articles de légumes, je vais les traiter donc je vais mettre dans un array [$fruits]:

Code : Tout sélectionner

array(2) { ["boite"]=> string(5) "VERTE" ["items"]=> array(2) { [0]=> array(5) { ["prix"]=> string(4) "2.00" ["quantite"]=> string(1) "1" ["type"]=> string(6) "fruits" ["nom_de_produits"]=> string(5) "pomme" ["tax"]=> array(2) { [0]=> array(3) { ["prix"]=> string(4) "0.10" ["quantite"]=> string(1) "1" ["nom_de_produits"]=> string(3) "TVA" } [1]=> array(3) { ["prix"]=> string(4) "0.20" ["quantite"]=> string(1) "1" ["nom_de_produits"]=> string(3) "TVQ" } } } [1]=> array(5) { ["prix"]=> string(4) "3.00" ["quantite"]=> string(1) "1" ["type"]=> string(6) "fruits" ["nom_de_produits"]=> string(6) "pommes" ["tax"]=> array(2) { [0]=> array(3) { ["prix"]=> string(4) "0.50" ["quantite"]=> string(1) "1" ["nom_de_produits"]=> string(3) "TVA" } [1]=> array(3) { ["prix"]=> string(4) "0.60" ["quantite"]=> string(1) "1" ["nom_de_produits"]=> string(3) "TVQ" } } } } }
Alors comment je peux le faire....
Voici mon 1er pas... mais je suis un peu perdu....
$dataBoites = "boites.json"; 
		$dataBoites = file_get_contents($dataBoites);
		$dataBoites_array = json_decode($dataBoites, true);  // transformation ARRAY///////////////////////////////
		 
		 
		 //print_r ($dataBoites_array);
		 //var_dump($dataBoites_array);
		 //exit();
		
		
		$fruits = array(); // creation nouveau array pour les fruits
			
	
		foreach ($dataBoites_array['items'] as &$article) 
                     {

                        // que je dois faire
                     }
		{

Avatar du membre
Mammouth du PHP | 1609 Messages

13 mai 2015, 13:53

Salut, à priori quelque chose dans le genre :
if($article['type'] == 'fruits')
  $fruits[] = $article;
Développeur web depuis + de 20 ans

Petit nouveau ! | 5 Messages

14 mai 2015, 15:16

Super cool Saian, ça marche
merci