Explode naar simpele array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer eMagiz

Ben jij een zelfstandige (liefst Full Stack) Developer die zich op een volwassen manier verantwoordelijk voelt voor zijn eigen doelstellingen en daarnaast blij wordt van de teamdynamiek in je scrumteam en daar een actieve en kritische rol heeft? En word jij enthousiast van een zeer complexe ontwikkelomgeving waar je wordt uitgedaagd abstract te denken? Word dan lid van ons R&D team zodat jij een bijdrage levert aan onze zeer geavanceerde softwaremodellen en zo onze Enterprise integration Platform as a Service verder verbetert. Jouw uitdaging als Software Developer eMagiz eMagiz is een modelgedreven platform en wordt door klanten en partners gebruikt

Bekijk vacature »

.NET Developer / C# / Microservices / Azure

Bedrijfsomschrijving Deze organisatie in de regio van Ede/Wageningen waar jij als .NET Developer komt te werken is marktleider en pionier op het gebied van High-Quality apparatuur in de zorg. Het scrumteam waar jij deel van zal uitmaken bestaat uit acht developers. Als Senior .NET Developer draag jij dagelijks bij aan een gezondere toekomst. De apparatuur waar jij de software voor ontwikkelt wordt wereldwijd ingezet in meer dan 5000 ziekenhuizen. Iedere 4 minuten krijgt iemand ter wereld een behandeling middels deze apparatuur. Omdat de organisatie continu bezig is met innovatie krijg jij als .NET Developer de ruimte om met nieuwste- en

Bekijk vacature »

Back-End Developer

Heb jij ervaring als Developer, ben je goed bekend met PHP en werk je graag aan projecten voor toonaangevende klanten? En zoek jij een uitdagende en verantwoordelijke positie met ontwikkelmogelijkheden binnen een informeel bedrijf? Lees dan verder! Doel van de functie Het vertalen van klantwensen naar Magenta functionaliteit en het up-en-running houden van webshops. Werkzaamheden Je maakt onderdeel uit van het development team en gaat je bezighouden met het implementeren van Magento voor internationale klanten. Je bouw thema’s, customizations en maakt koppelingen aan ERP- en kassasystemen. Je werkzaamheden bestaan verder uit: Het verwerken en vertalen van functionele wensen van klanten

Bekijk vacature »

.NET C# web developer gezocht, inhouse project dev

Ben je een ervaren .NET C# web developer en op zoek naar een leuke baan in het zuiden van Zuid-Holland? Een inhouse functie maar met de afwisseling van verschillende projecten en klanten? Projecten die uitdagend zijn door de complexiteit van de systemen? Lees dan verder! Voor een bedrijf in Goeree-Overflakkee zijn we momenteel op zoek naar een ervaren .NET C# web developer. Het bedrijf bestaat uit iets meer dan 20 werknemers en verschillende ervaren software developers. De software projecten zijn uiteenlopend, maar altijd maatwerk oplossingen en veelal complex en bedrijfskritisch van karakter. De bedrijven waarvoor je software ontwikkeld kunnen variëren

Bekijk vacature »

Senior Database Developer High-performance databas

Bedrijfsomschrijving For our client in Amsterdam we are searching for a Database Developer that can assist the environment in implementing and optimising high performance databases. The client is one of the biggest financial organizations within the Netherlands. This international organization has more than 20.000 employees and has millions of private and corporate clients and is respected as one of the most innovative organizations in their industry. You will be working in one of the eight scrum teams in the international security domain. These scrum teams contribute to the safety of the bank and its direct customers. They work fully agile/scrum

Bekijk vacature »

C# ontwikkelaar gezocht, academisch niveau, goed s

Ben je als .NET ontwikkelaar op zoek naar een (nieuwe) analytische uitdagende baan? Een baan waar je te maken krijgt geavanceerde wiskundige modellen? Dan zou deze organisatie je dit kunnen bieden. Voor een organisatie in Delft zijn we momenteel op zoek naar .NET ontwikkelaar met een academisch niveau en kennis of affiniteit met het bouwen van modellen, dataprocessen en applicaties in .NET C#. De organisatie houdt zich bezig met het leveren van zeer specifieke diensten voor de financiële sector en doet veel zaken met grote financiële instellingen. Het gaat hier om een kleinere organisatie van circa 15 mensen waarvan 5

Bekijk vacature »

Ervaren developer (front-end/back-end)

Functie: Senior Developer Werklocatie: Zoetermeer Wij hebben met het door ons zelf ontwikkelde Financiële Advies software “Finix-Advies”, een vooraanstaande positie in de financiële branche. Echter hebben wij nu als doel onze visie om te zetten in software die consumenten, adviseurs en aanbieders ondersteunt. Vooral adviseurs, vermogens- beheerder als banken en verzekeraars maken gebruik van Finix om haar klanten snel en vakkundig te voorzien van (financieel) advies. Met behulp van Finix kunnen gebruikers op snelle, efficiënte en vakkundige wijze haar klanten helpen bij het geven van het juiste financiële advies en het realiseren van haar dromen. Bijvoorbeeld bij het adviseren van

Bekijk vacature »

PHP Developer in centrum van Den Haag

Bedrijfsomschrijving Onze klant werkt met de nieuwste technologieën en zoekt een PHP specialist die met ze mee wil werken! Het bedrijf zit in Den Haag centrum en is makkelijk te bereiken. Ze leveren unieke diensten aan consumenten en bedrijven. Men werkt hier voornamelijk met nieuwe technologie als het gaat om PHP en het is belangrijk dat jij jezelf graag wil kunnen blijven ontwikkelen. Als jij hier werkzaam komt te zijn, sta jij met een glimlach op en ga jij met een glimlach naar bed! Functieomschrijving Je collega's zijn zeer gemotiveerd en willen presteren. Het is dan ook aangenaam om met

Bekijk vacature »

Software Ontwikkelaar

Software Ontwikkelaar Heb jij altijd al willen weten hoe het achter de schermen werkt bij 112? Wij zijn op zoek naar een Software Ontwikkelaar die zich wil verdiepen in onze geografische informatiesystemen voor meldkamers en vervoer. Kom jij ons team versterken? Wat ga je doen als Software Ontwikkelaar bij CityGIS? Jij bent medeverantwoordelijk voor het ontwerpen en ontwikkelen van geografische coördinatie- en informatiesystemen. Je bedenkt nieuwe functionaliteiten, waarmee CityGIS zich kan blijven onderscheiden in de markt. Je denkt actief mee over de invulling van projecten en doet suggesties voor bestaande en nieuwe functionaliteiten. We werken voor klanten waar elke seconde

Bekijk vacature »

Medior PHP Developer

Bedrijfsomschrijving De organisatie is een marktleider op het gebied van Software ontwikkeling omtrent medewerker applicaties. Hiermee helpen ze klanten om het optimaliseren van bedrijfsprocessen en verduurzamen van de bedrijfsvoering. Innovatie en ontwikkeling staat hierom dan ook hoog in het vaandel. Je collega's hebben een open, informele werksfeer gecreëerd waar de dialoog altijd aangegaan kan worden. Als PHP developer ga je aan de slag met het realiseren van web applicaties on-premise en in de Cloud. Je schrijft innovatieve, maar ook robuuste codes en houd hierbij rekening met Security aspecten. De codes die je schrijft en de koppelingen die jij realiseert hebben

Bekijk vacature »

Digital Solutions Developer Lead

The goal is to develop (and maintain - DevOps) the Digital capabilities to support the Digitalisation within MS Amlin. For this we're looking at working with state-of-the-art (low-code) technology that will allow for the creation of a digital eco-system. Client Details MS Amlin is a leading commercial insurance company and part of Japanese insurance group MS&AD (6th largest the world). Digital Trading is one of the key strategic growth & efficiency improvement areas for MS Amlin. Digitalisation of our offering is essential for maintaining our position, enhancing client intimacy, improving efficiency and building out our presence in the European SME

Bekijk vacature »

Java Developer- Java/ Spring/ NoSQL

Full Stack Java Developer - JAVA / Spring / NoSQL BRAND NEW ROLE AVAILABLE IN AMSTERDAM, NETHERLANDS, WORKING WITH AN ESTABLISHED SOFTWARE HOUSE Mid to senior level candidates considered Amsterdam location, easily accessible by car and public transport JAVA / Spring / NoSQL salary up to €70,000 plus amazing benefits To apply please call +31 (0)208 004 990 or email me; george.widdowson@searchability.com Based in Amsterdam we are an industry leading software company who are looking for a Dutch speaking Java Developer with financial experience to join the team. We work with prestigious clients within the financial sector. Sourced by: @SearchabilityEU–

Bekijk vacature »

Java Developer / Overheid / Complexiteit

Bedrijfsomschrijving Binnen de organisatie zijn meer dan 10.000 medewerkers dagelijks werkzaam op meer dan 30 verschillende locaties. In deze dynamische omgeving is geen dag hetzelfde. Dit komt door de snelheid waarmee veranderingen plaatsvinden. Dagelijks hebben jouw werkzaamheden direct invloed op het transport van mensen, goederen en personeel. Als Java Developer kom je terecht in een hecht team van op de locatie in Assen. Hier zal jij verantwoordelijk worden voor alles wat met Java en de daarbij behorende bedrijfskritische applicaties te maken heeft. De applicatie regelt en registreert alle dagelijkse bezigheden van deze organisatie. Op locatie heb jij dus direct inzicht

Bekijk vacature »

Front-end Developer

Icologiq is op zoek naar een Front-end Developer. Functie omschrijving Je wordt onderdeel van een topteam bestaande uit Business Consultants, Software Developers en Software testers. Kwaliteit staat bij ons op #1, op de voet gevolgd door plezier in je werk. We werken volgens Agile principes – denk aan daily’s, sprints, sprint reviews en retrospectives. Functionele specs worden opgesteld door onze consultants die in nauw contact staan met onze klanten en developers. Functievereisten Goede beheersing van zowel de Nederlandse als de Engelse taal (mondeling en schriftelijk); Afgeronde MBO-/HBO-opleiding; Beheersing van: JavaScript, HTML5, CSS3, SASS, REST, JSON en e.v. andere technieken; Ervaring

Bekijk vacature »

Developer C# Infra Beheer

Bedrijfsomschrijving Voor een mooie organisatie die zich in de brache riching de technische / installatie techniek bevindt zijn wij opzoek naar een Software Developer met ervaring op het gebied van C#. Binnen deze organisatie zijn de IT rollen zeer breed en is het belangrijk dat je het leuk lijkt om buiten software ontwikkeling meer te betekenen voor de klanten en interne gebruikers. Als er iets mis is met de hardware of infrastructuur spring je bij en help je de gebruikers en klanten met hun vragen. Verder ontwikkel je aan toffe maatwerk software die zeer branche specialistisch is. Om die reden

Bekijk vacature »
Yoeri Achterbergen

Yoeri Achterbergen

18/11/2020 13:52:32
Quote Anchor link
Hoi Hoi,


Ik heb een vraagje over de explode functie.
Als ik een explode uitvoer dan word deze in een associative array gezet.
Kan dit ook naar een simple array vertaald worden?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
//explode output standaard
Array ( [0] => 123 [1] => 456 [2] => 789 );


//de output die ik graag zou krijgen
Array ( '123',  '456', '789');
?>
 
PHP hulp

PHP hulp

27/11/2020 09:44:48
 
- Ariën -
Beheerder

- Ariën -

18/11/2020 13:58:36
Quote Anchor link
In beide gevallen komt het er associatief uit. Zo werken array's nu eenmaal.

https://3v4l.org/clWM0
Gewijzigd op 18/11/2020 13:59:03 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2020 14:32:19
Quote Anchor link
Alle arrays worden geïndexeerd. Wanneer je niet expliciet een index aangeeft, wordt er vanaf 0 genummerd.

Weet niet precies wat je bedoeldt met een simpel array, maar alle arrays hebben een index.

Indien je twijfelt over de (exacte) inhoud, en de typen van de elementen (want hierboven heb je een array met strings en eentje met integers, dus in die zin verschillen deze van elkaar), dan kun je altijd de inhoud inspecteren met hulpfuncties zoals print_r() of var_dump().
 
Ad Fundum

Ad Fundum

18/11/2020 15:15:24
Quote Anchor link
Als uitvoer kan het zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$arr1
= Array ( 0 => 123, 1 => 456, 2 => 789 );
print '$arr2 = Array ( \'' . implode('\', \'', $arr1) . '\' );';
?>

Resultaat:
$arr2 = Array ( '123', '456', '789' );
Gewijzigd op 18/11/2020 15:16:22 door Ad Fundum
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2020 16:06:59
Quote Anchor link
Klopt dat nog als $arr1 leeg is?
 
Ad Fundum

Ad Fundum

20/11/2020 09:44:46
Quote Anchor link
$arr1 is niet leeg, zie regel 2.
 
- Ariën -
Beheerder

- Ariën -

20/11/2020 10:01:24
Quote Anchor link
Volgens mij gaat er volgens Thomas om dat 'áls $arr1 leeg is'. Ik heb het idee dat hij bedoelt dat je in dat geval een lege array moet ziet.
Gewijzigd op 20/11/2020 10:02:09 door - Ariën -
 
Ad Fundum

Ad Fundum

20/11/2020 10:09:54
Quote Anchor link
Als $arr1 leeg is heeft Youri geen probleem, een lege associatieve array heeft geen indexes.
Ik begrijp dan ook niet helemaal waarom Thomas dit aanhaalt?
Gewijzigd op 20/11/2020 10:10:32 door Ad Fundum
 
- Ariën -
Beheerder

- Ariën -

20/11/2020 10:30:18
Quote Anchor link
Bijna goed:
Als $arr1 leeg is, dan krijgt implode niets door, en geeft het een foutmelding.
Als de array van $arr1 leeg is, dan krijg je een werkende output:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$arr2
= Array ( '' );
?>

Nog niet helemaal logisch dus omdat je toch een array blijft hebben met een leeg element
Gewijzigd op 20/11/2020 10:33:04 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

20/11/2020 15:38:23
Quote Anchor link
Een implode op een leeg array is volgens mij prima toegestaan?

Het probleem is inderdaad dat als je een leeg array als invoer hebt er een (niet-leeg) array met een (leeg) element geretourneerd wordt.

Misschien is het handig als de topicstarter verder toelicht wat nu precies het probleem is? Een explode geeft aan dat het geserialiseerde invoer betrof waarbij blijkbaar de keys/indexen toch geen betekenis hadden. Wat maakt het dan uit welke index hier aan toegekend wordt met een explode? Zoals eerder aangehaald, alle arrays hebben indexen.

En hiervoor zou je nog kunnen kijken naar de aanpak. Waarom is de invoer uberhaupt geserialiseerd? Heb je invloed/zeggenschap op/over de vorm van de opslag? Wellicht wil je dat dan gestructureerd(er) aanpakken (dan de boel serialiseren) of in een standaard formaat gieten (bijvoorbeeld JSON)?
 
Ad Fundum

Ad Fundum

23/11/2020 13:43:43
Quote Anchor link
Ik denk dat jullie de discussie op een zijspoor zetten.

Youri vroeg: "Als ik een explode uitvoer dan word deze in een associative array gezet."

Waarna ik zei: "Een lege associatieve array heeft geen indexes."

Dus: van een lege array is hier geen sprake, want die levert geen indexes, en is daarmee niet associatief.
Waarom dan toch doorzagen? Kan je dan niet beter de code verbeteren met je eigen if()-je voor lege arrays?
Weet je wat? Ik doe het wel voor, dat voorkomt veel onnodige alinea's:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$arr1
= [];
echo (count($arr1) > 0) ? '$arr2 = Array ( \'' . implode('\', \'', $arr1) . '\' );' : '$arr2 = Array ();';
?>


Kijk, nu werkt het ook met lege arrays. Goed he?
En ik hoor nu al een argument opborrelen: "Ja, maar nu heb je twee keer '$arr2 = Array ('.
Dat is voor de leesbaarheid.
Maar je bent natuurlijk vrij om daar hele mooie code van te maken. Plak het vooral hieronder. Succes.
 
Thomas van den Heuvel

Thomas van den Heuvel

23/11/2020 17:18:05
Quote Anchor link
Bruh.

Voordat je blindelings antwoord geeft op een vraag zou je natuurlijk ook na kunnen denken over de vraagstelling zelf, of deze zinnig is en of de ingeslagen weg wel hout snijdt. Tenzij je enige doel is om (antwoorden op de precieze vraag) te faciliteren kan ik mij hier misschien nog iets bij voorstellen, maar dit forum zou toch wat verder moeten gaan dan dat...

@Yoeri dumpt een array, en kreeg mogelijk meer te zien dan hij had verwacht, maar elk (fair enough, niet-leeg) array heeft indexen, dus het is logisch en accuraat dat je deze dan ook te zien krijgt.

Er bestaat niet zoiets als een "simpel array zonder indexen", dus waarom zou je een soort van dumpfunctionaliteit hebben die dit weerspiegelt? Tenzij je een soort van opmaak wilt toepassen op je dump? Maar zelfs dan, het nut van een dump lijkt mij nog steeds dat je de precieze inhoud weergeeft, hier inhoudelijke aanpassingen op uit gaan voeren lijkt mij niet wenselijk.

Misschien kan de topicstarter duidelijkheid verschaffen over hoe hij dit denkt te kunnen gebruiken?

Als dit alles bedoeld is om de leesbaarheid te verbeteren kun je er beter simpelweg <pre></pre> omheen zetten:
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
<?php
// output escaping
function escape($in) {
    return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}


// generieke dumpfunctie, je zou dit nog uit kunnen breiden met andere is_...() controles
function dump($in) {
    if (is_array($in)) {
        $in = print_r($in, true);
    }

    echo '<pre>'.escape($in).'</pre>';
}


// test array
$test = array(
    'aap',
    'hello' => 'world',
    'html' => '<b>bold</b>',
    4,
);


// output header
header('Content-Type: text/html; charset=UTF-8');
// dump gegevens
dump($test);
?>


Zoals eerder aangegeven, de twee arrays zijn ook niet equivalent. De een bevat een aantal integers, de ander een aantal strings. Ook het aanpassen van het array waarbij de indruk wordt gewekt dat de inhoud andere types heeft lijkt mij op zijn zachtst gezegd misleidend.

Naar aanleiding van @AdFundums code hierboven: wat is het idee om hier nog de prefix '$arr2 = ...' aan toe te voegen? En met welk doel? Om dit te evalueren? Om PHP-code te genereren? Beide lijken mij verre van goede ideeën. Dit lijkt mij voortborduren op een slecht ontwerp. Misschien heb je met jouw reactie wel een antwoord gegeven op de vraag, maar tegelijkertijd stuur je iemand mogelijk compleet de verkeerde kant op.

Daarnaast zou je bij het geven van een "oplossing" ook rekening kunnen houden met een bredere inzetbaarheid van de aangeleverde code, en niet enkel iets aandragen dat weliswaar voor het gegeven voorbeeld werkt, maar in andere gevallen gewoon een verkeerd resultaat oplevert. Ik denk niet dat vragenstellers echt geholpen worden/zijn met ad hoc oplossingen.
 
Ad Fundum

Ad Fundum

24/11/2020 08:59:46
Quote Anchor link
Je maakt het er niet leuker op door op voorhand iedereen te diskwalificeren op basis van eigen aannames ("gaat niet ver genoeg", "misleidend", "slecht ontwerp", "niet wenselijk") zonder verdere uitleg.

Waar staat dat het om HTML gaat?
Waarom is de toevoeging $arrX = een voortburen op een slecht ontwerp, in dit geval van Ariën?
Hoezo wordt iemand de verkeerde kant op gestuurd als alleen de vraag beantwoord wordt?
Wat weet jij meer van de context, zonder het hier gevraagd te hebben?
Waarom moet het antwoord zo zijn dat het meer beantwoordt dan wat gevraagd wordt?

Ik zou denken dat als je serieus meer wilt weten over de context, dat je dat dan vraagt aan de vragensteller, in plaats van dat je anderen probeert af te troeven. Dat lijkt mij nou een goed idee.
 
Ozzie PHP

Ozzie PHP

24/11/2020 10:25:52
Quote Anchor link
** knip **

Edit:
Popcorn-meme's zijn echt niet nodig. Laten we het gewoon gezellig houden, en bewaar die versnapering maar lekker voor bij een film :-).
Gewijzigd op 24/11/2020 10:51:45 door - Ariën -
 
- Ariën -
Beheerder

- Ariën -

24/11/2020 17:02:41
Quote Anchor link
De vraag is:

Wil Yoeri nou code outputten, of wilt hij een array in het geheugen opslaan zonder indexen (wat dus niet kan)? Het is wel leuk dat er een draai aan is gegeven om dit in de code te outputten. Maar toch ben ik benieuwd naar Yoeri's reactie.
 



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.