J'ai cherché beaucoup de réponses, mais aucun d'entre eux ne travaille pour moi.
Ceci est les données attribuées à mon $ Quantités code> tableau: p>
Array(
[10] => Array([25.00] => 1)
[9] => Array([30.00] => 3)
[8] => Array([30.00] => 4)
[12] => Array()
[1] => Array()
[2] => Array()
)
8 Réponses :
Je ne sais pas si c'est exactement ce que vous recherchez.
Strike> function array_remove_null($array) {
foreach ($array as $key => $value)
{
if(is_null($value))
unset($array[$key]);
if(is_string($value) && empty($value))
unset($array[$key]);
if(is_array($value))
$array[$key] = array_remove_null($value);
if(isset($array[$key]) && count($array[$key])==0)
unset($array[$key]);
}
return $array;
}
Bonjour Jason, merci pour votre réponse. Malheureusement, cela ne fonctionne pas pour ce dont j'ai besoin. Comme Paul répondit, il revient la même chose que la question initiale.
Je ne sais pas pourquoi cela a 4 upvotes. Cette réponse que seule ne fonctionne pas. Demo
@MickMackusa Cet exemple a reculé dans les jours de PHP 5.
@Jasonfoglia Il n'y a rien de version spécifique qui a un impact sur votre réponse. Cela ne fonctionne pas dans PHP5 non plus. PHP 5.5.0.A.2 Démo
@MickMackusa Cette réponse répond à la question. Comment éliminer les valeurs d'un tableau; Tableaux non vides de tableaux.
Laissez-nous Continuez cette discussion en chat .
peu en retard, mais peut aider une personne à la recherche de même réponse. J'ai utilisé cette approche très simple de;
Utiliser array_map () Pour filtrer chaque tableau en $ TRAY:
$newArray = array_map('array_filter', $array);
Cette réponse ne fonctionne pas. Cela ne fonctionne pas dans le lien de démonstration posté. Cela ne fonctionne pas dans Mon lien de démonstration Comment dans le monde a-t-il gagné 3 upvotes? Downvote de moi.
$newArray = array_map('array_filter', $array); This sintax it's work and very help full thank's guys ..
Il s'agit d'une méthode duplication exacte (caractère de caractère) de la réponse de Naitikshah qui a été publiée deux mois plus tôt. Si vous ne pouvez pas améliorer votre réponse pour fournir de meilleures informations, vous devez supprimer cette réponse car elle n'ajoute pas de valeur à la page (il s'agit simplement de la page de page).
Cette réponse ne fonctionne pas. Cela ne fonctionne pas dans Mon lien de démonstration Comment dans le monde a-t-il gagné 3 upvotes? Downvote de moi.
La fonction suivante a fonctionné pour mon cas. Nous pouvons utiliser une fonction récursive simple pour supprimer tous les éléments vides du tableau PHP multidimensionnel: Nous devons simplement appeler cette fonction: p>
Utiliser array_filter code> avec
array_map code> Comme ci-dessous:
$arr=array_filter(array_map('array_filter', $arr));
Ce ne sont pas de nouvelles informations. Ceci est un duplicata de Réponse d'Alastairf écrite comme une doublure.
Ceci supprime tous les éléments avec des valeurs nulles récursives sur des tableaux multidéminsionnels. Fonctionne sur PHP> = 5.6. Si vous souhaitez supprimer toutes les valeurs "vides", remplacez ! Is_null ($ valeur) code> avec
! Vide ($ valeur) code>.
function recursivelyRemoveItemsWithNullValuesFromArray(array $data = []): array
{
$data = array_map(function($value) {
return is_array($value) ? recursivelyRemoveItemsWithNullValuesFromArray($value) : $value;
}, $data);
return array_filter($data, function($value) {
return !is_null($value);
});
}
Cette réponse ne fournit pas la sortie souhaitée de l'OP. Demo
@MickMackusa Comme indiqué dans ma réponse "Si vous souhaitez supprimer toutes les valeurs" vides ", remplacez! IS_NULL (valeur $) avec! vide (valeur $)". Votre démo fonctionne comme prévu. J'ai mis à jour votre démo à l'aide de vide () au lieu de IS_NULL (). Veuillez vérifier: Sandbox.onlinephPFonctions.com/code/...
Étant donné que les banquiers de votre réseau n'ont qu'un élément chacun, vous pouvez simplifier l'approche en utilisant l'une des deux méthodes suivantes. L'avantage logique consiste à éviter l'itérateur fonctionnel ( code: ( Demo ) P> array_filter code>) sur les éléments de deuxième niveau. C'est pourquoi
actuel () code> est plus approprié pour cette question / page.
array (
10 =>
array (
'25.00' => 1,
),
9 =>
array (
'30.00' => 3,
),
8 =>
array (
'30.00' => 4,
),
)
Pensez à utiliser var_dump () au lieu de nous montrer le contenu du tableau.
Pour une page qui est utilisée comme destination pour tant de liaisons Dupe, cette page a une quantité incroyable de réponses incorrectes évoquées. @ RICHARD-MX J'ai posté une réponse qui n'utilise pas de réursion ou de multiples fonctions itérantes afin que les lecteurs trafiqués ici puissent voir une solution de travail maigre (zéro sûre). (Il n'est pas clair dans votre message si vos tableaux vides ont des chaînes vides ou
null code> comme des valeurs, donc je suis démo avec les deux)