Voici mon préfache
Array
(
[entity_id] => 85
[name] => Round Bur
)
Array
(
[entity_id] => 86
[name] => testile Bur
)
Array
(
[entity_id] => 87
[name] => Shovel
)
3 Réponses :
Vous pouvez mettre tous les résultats dans un tableau, que vous ne les ajoutez que si le nom code> n'existe pas déjà:
Vous pouvez épisser la ligne répétée qui contient la même valeur: Démo A> p> implémentation de votre cas ressemble à la suivante: p>
Une dernière version, il suffit de conserver une trace des noms ajoutés, mais ajoutez également l'original à la sortie plutôt que la matrice de données ...
$output = [];
$existingNames = [];
foreach ($_productCollection as $product){
$productName = $product->getData()['name'];
if ( !isset($existingNames[$productName])) {
$existingNames[$productName] = true;
$output[] = $product;
}
}
Bizarre compte tenu de cela essentiellement fonctionne de la même manière que la deuxième réponse qui a obtenu un uppote. heureux de compenser ...
@Nick, merci, c'est plus un cas s'il y a quelque chose qui ne va pas avec mon code, je préfère dire que les gens disent. Bien que parfois, il peut s'agir de quelqu'un qui joue: - /
Je ne pouvais pas être d'accord avec toi plus. Mais pour la plupart qui ne semble pas être ce que ça marche ...
Si vous souhaitez simplement supprimer le dernier élément, utilisez Array_Pop ()
@ Vishnubhadoriya, je pense que c'est plus que le dernier (dans l'exemple) est le seul deplicaté, ce n'est peut-être pas toujours le cas.
@Vishnubhadoriya qui ne résoudra pas le problème si la dupe était placée comme premier et deuxième éléments du tableau
Non seulement durer ....!
Dupliqué possible de Comment supprimer des valeurs en double d'un tableau multidimensionnel dans PHP
@treybake, problème est qu'il s'agit d'un tableau d'objets.
@Nigelren conversion est une chose
@Nigelren
$ array = (tableau) $ objet code>@treybake, comme ils utilisent
$ _ product-> getdata () code>, je suppose que ce n'est pas simplement un objet clair et que les données peuvent ne pas être publiques.@Nigelren Qu'est-ce qui vous fait supposer cela? Et j'ai également réalisé que la production n'est pas claire. Est-ce que cet exemple de sortie d'un
print_r () code> ou est-ce la sortie après ce code?La sortie vous a-t-elle posté un exemple d'une seule itération dans la boucle ou est-ce qu'elle est sortie après la boucle?
@treybake, le code montre clairement le
print_r ($ _ product-> getdata ()); code> à l'intérieur duforeach () code> boucle.@Nigelren il fait, ce qui signifie que la cible Dupe est valide