Dubbele array uit lijst verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »
Sander Corbesir

Sander Corbesir

10/12/2015 10:05:27
Quote Anchor link
Hallo,

Ik moet van de onderstaand array dubbele uit de lijst verwijderen. De bedoeling is dat de array Predator uit de lijst verwijderd worden omdat die predator-pl al voorkomt in EDM en 2 overig (BLUE en EDM) moeten blijven.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Array
(
    [BLUE] => Array
        (
            [0] => blue-le
        )

)
Array
(
    [Predator] => Array
        (
            [0] => predator-pl
        )

)
Array
(
    [EDM] => Array
        (
            [0] => predator
            [1] => predator-pl
            [2] => punch
            [3] => punch-bd
        )

)

Ik heb met diverse multidimensional arrays geprobeerd of eerst tellen welke array de hoogste is en .... kom ik niet meer verder uit.

Onderstaand is tellen hoeveel er aanwezig is in array.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        $count = array();
        foreach($op as $id => $value) {
            foreach($value as $sid => $svalue ) {
                $tellen = count($svalue);
                $count[$sid] = $tellen;
            }
        }
        arsort($count);


Array
(
    [EDM] => 4
    [Predator] => 1
    [BLUE] => 1
)

Kan er iemand mij oplossing bieden hoe ik het kan oplossen?
Gewijzigd op 10/12/2015 10:07:58 door Sander Corbesir
 
PHP hulp

PHP hulp

15/01/2025 00:35:04
 
Jan de Laet

Jan de Laet

10/12/2015 11:09:15
Quote Anchor link
Wat is de logica om Predator[0] en Predator te verwijderen en niet EDM[1]?
 
Sander Corbesir

Sander Corbesir

10/12/2015 11:19:06
Quote Anchor link
EDM heeft voorrang omdat die meeste bundels heeft.

De lijstje hierboven zijn allemaal bundels en als je EDM hebt..heeft die voorrang en moet al andere bundels die je hebt verwijderd worden als die in lijstje voorkomt. BLUE komt niet voor in EDM voor en die moet dus blijven.
 
Thomas van den Heuvel

Thomas van den Heuvel

10/12/2015 11:55:43
Quote Anchor link
Is dat dan niet een beetje een kip-ei situatie? Als de algemene regel is dat de langste/een langere lijst bepaalt waar een item in moet staan, dan is dit pas na afloop bekend. En wat nu als twee lijsten even lang zijn?

Het klinkt een beetje alsof je items hebt die mogelijk in meerdere categorieën vallen, en je deze dan toch wilt toekennen aan slechts één categorie. Wat is dan de verdeelsleutel? Als deze categorieën een bepaalde vaste prioriteit hebben die niet afhangt van het aantal items, gebruik dit dan bij de opbouw.

Krijg je deze informatie zo aangeleverd, of bouw je deze lijsten zelf op?

Misschien kun je ook een toelichting geven wat deze informatie betekent, en wat je uiteindelijk probeert te bereiken?
 
Ward van der Put
Moderator

Ward van der Put

10/12/2015 13:35:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
$ar1
= array('BLUE' => array('blue-le'));
$ar2 = array('Predator' => array('predator-pl'));
$ar3 = array('EDM' => array('predator', 'predator-pl', 'punch', 'punch-bd'));

/* Het bovenstaande geeft de datastructuur uit je openingspost:

    Array
    (
        [BLUE] => Array
            (
                [0] => blue-le
            )

    )
    Array
    (
        [Predator] => Array
            (
                [0] => predator-pl
            )

    )
    Array
    (
        [EDM] => Array
            (
                [0] => predator
                [1] => predator-pl
                [2] => punch
                [3] => punch-bd
            )
    )

*/

// Alle data combineren tot één array:

$data = array_merge_recursive($ar1, $ar2, $ar3);

// Items per array tellen:
$counts = array();
foreach ($data as $key => $value) {
    $counts[$key] = count($value);
}

// Aflopend sorteren:
arsort($counts);

/* Resultaat in $counts:

    Array
    (
        [EDM] => 4
        [Predator] => 1
        [BLUE] => 1
    )

*/

// Arrays recombineren met het aantal items:

$new_data = array();
$used_data = array();
foreach ($counts as $key => $value) {
    // Gebruik de eerste array in zijn geheel:
    if (count($used_data) == 0) {
        $new_data[$key] = $data[$key];
        $used_data = $data[$key];
    }
else {
        // Gebruik anders alleen het verschil tussen nieuwe en gebruikte data:
        $array_diff = array_diff($data[$key], $used_data);
        if (count($array_diff) != 0) {
            $new_data[$key] = $array_diff;
            $used_data = array_merge($used_data, $array_diff);
        }
    }
}


/* Nieuwe datastructuur in $new_data:

    Array
    (
        [EDM] => Array
            (
                [0] => predator
                [1] => predator-pl
                [2] => punch
                [3] => punch-bd
            )

        [BLUE] => Array
            (
                [0] => blue-le
            )

    )

*/

?>


Lang verhaal kort: ik gebruik hier array_diff() om verschillen tussen arrays te vinden en array_merge() om bij te houden welke data al gebruikt zijn.
Gewijzigd op 10/12/2015 13:35:43 door Ward van der Put
 
Sander Corbesir

Sander Corbesir

10/12/2015 16:58:22
Quote Anchor link
Bedankt Ward..hiermee is mijn probleem opgelost en werkt alles naar behoren zoals ik wilde.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.