omgekeerde range()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer

Developer R&D · Rijswijk, ZH We are searching for a Developer with a DevOps mentality! About the role: Modern, high-speed software development and innovation is key to survive in a competitive market. At Telexis, we fully recognize this and we are transforming our organization to move and innovate to bring high value services to all public transport operators in the Netherlands and internationally. Are you ready to fuel the future and set new standards for Telexis? We are searching for a colleague who is eager to make a difference in a complex IT environment, by providing innovative ideas and using

Bekijk vacature »

QRM Developer / DevOps Engineer / SQL / Python / F

Functieomschrijving Are you an Engineer/Developer who has experience, or is looking to work in a finance/risk environment? Do you have at least 2-3 years of IT-related work experience, e.g. design, development, testing and/or maintenance ? Do you want to work for one of the largest financial banking organization in the Netherlands? Read on and find out if you're a match with this position! You will be working as an IT Development Engineer in a DevOps environment and help find the best solutions for the ALM department of the bank. For example: Design, implement and support our QRM setup; Discuss model

Bekijk vacature »

Java developer medior

Functie­omschrijving ''Bij de Belastingdienst werken we in de Java-ontwikkelstraat met diverse frameworks en tools, zoals Maven, Wicket of Angular, Eclipse of IntelliJ. En of het nu gaat om het fixen van een bug of het maken van een nieuwe applicatie: ik leer veel en zit eigenlijk de hele dag te puzzelen. Alle Java-ontwikkelaars werken intensief samen in scrumteams, waarvan ook de product owner deel uitmaakt. Dit doen we lang niet altijd alleen op kantoor. De Belastingdienst is flexibel en geeft je de ruimte om je werk te doen waar en wanneer jij dat wilt.'' Atsje Gercama - Medior Java-developer bij

Bekijk vacature »

Data ontwikkelaar analytics

Functie­omschrijving “In deze tijd begint een organisatie niets meer zonder data. Zeker zo’n grote professionele organisatie als de Belastingdienst niet. De hoeveelheid data is hier enorm! Het spreekt voor zich dat die data op de juiste tijd, op de juiste plek én bij de juiste mensen moeten zijn. Daar zorg ik voor.” Robin Maat - Data-ontwikkelaar analytics bij de afdeling datafundamenten en analytics. Het werkveld van datafundamenten en analytics (DF&A) binnen de Belastingdienst is omvangrijk. Het is de grootste en meest dynamische data-omgeving binnen de Nederlandse overheid. We werken agile en lopen voorop op het gebied van privacy by design.

Bekijk vacature »

Project Delivery Officer

Project Delivery Officer Do you enjoy being the linking pin between customers, the project team, and the internal organization? Can you oversee the complexity of different contracts and do you like the challenge of successfully following up on and managing them? If so, this job opening is perfect for you. We need your expertise The role of project delivery officer (PDO) is a versatile one. As PDO, you are part of the PDO team, which represents Itility’s control room. The team has an external focus (sales support, forecasting, and first point of contact for our customers) and is the linking

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

PHP developer met leaseauto!

Functieomschrijving Binnen dit bedrijf kom je terecht in een team van 5 developers. Het bedrijf telt in totaal 32 man. Het platform is voornamelijk van scratch opgebouwd aan de hand van Zend framework. Je zal voornamelijk allround werkzaamheden gaan verrichten en je bent de technische man met de ervaring die het team nu nodig heeft. Functie-eisen -Je hebt minimaal HBO werk en denkniveau -Je hebt minimaal 3 jaar werkervaring als PHP programmeur -Je hebt ervaring met object georiënteerd programmeren -Kennis van het ZEND framework is pré Bedrijfsomschrijving In Den Haag zoek ik voor onze klant naar een ervaren PHP programmeur

Bekijk vacature »

Software Engineer C++ / Software Developer C++

Software Engineer C++ / Software Developer C++ (Bsc, MSc, Computer Science, Information Technology, Mathematics, C, C++, Linux, Algorithms) General Do you find great joy in software development, which is then used worldwide, and are you familiar with C++ and with algorithms… read on! Organization For our business client, a fast dynamic technical company which gathers and processes huge amounts of data, we are looking for several Software Engineers. You will be part of a team consisting of about 25 software developers working on a suit of advanced software tools. These software tools are then used further on in the company

Bekijk vacature »

Senior cloud engineer / full stack developer

Functie­omschrijving Het Koninklijk Meteorologisch Instituut is 'data driven' sinds 1854. Waarnemen, data verzamelen, modelleren, analyseren en duiding geven zijn de kernactiviteiten van het instituut. Waarnemingen komen van satellieten, radar, vliegtuigen in de lucht, maar ook van de meer dan 300 vrijwilligers die neerslagmetingen doen. De ICT van het instituut is zeer omvangrijk en voor de uitvoering van onze modellen beschikken we over een eigen HPC (supercomputer). Veel systemen zijn hoog beschikbaar uitgevoerd en kennen geen downtime. Als senior cloud engineer ben je in de lead bij de opzet en inrichting van het cloud platform, bij het vormgeven van applicaties voor

Bekijk vacature »

Senior software-engineer / frontend-developer

Functie­omschrijving Van backend tot frontend, jij bent van alle markten thuis. Bij dé ICT-dienstverlener van de Dienst Justitiële Inrichtingen ontwikkel jij als senior software-engineer / frontend-developer in Gouda applicaties met de nieuwste technologieën voor duizenden gebruikers. Op die manier zet jij je in voor een veiliger en rechtvaardiger Nederland. In jouw functie ontwikkel je in een DevOps-team oplossingen voor de klant. Door de scrum- of agile-aanpak doe je dat kortcyclisch. Op die manier kunnen we de vraag van de klant optimaal invullen. En samen met je collega’s zorg je er ook voor dat die bedachte oplossingen duurzaam voor de organisatie

Bekijk vacature »

OpenEdge Developer / #1 software leverancier binne

Functieomschrijving Ben jij een ervaren OpenEdge Developer die graag nog nieuwbouw ontwikkelt? Wil je daarnaast jouw hersenen kraken voor het automatiseren van complexe bedrijfsprocessen? Lees dan snel verder en kom erachter of deze rol als OpenEdge Developer iets voor jou is! Uitvoeren van analyses ter bevordering van de betrouwbaarheid en performance van de bedrijfskritische applicatie; Meedenken over de architectuur en tevens waarborgen van de OpenEdge architectuur; Troubleshooten van complexe incidenten; Je deelt graag je kennis aan je collega’s; Maken van ontwerpen, schrijven van documentatie en het testen van de OpenEdge applicatie; Implementeren van nieuwe functionaliteiten en het verzorgen van nazorg.

Bekijk vacature »

Mobile App Developer

Ons Mobile ontwikkelteam zoekt een fanatieke Mobile App Developer. Ben jij creatief en heb je passie voor het ontwikkelen van apps? Dan zijn wij op zoek naar jou! Jouw baan ChipSoft heeft al diverse apps uitgebracht en het aantal gebruikers hiervan neemt snel toe. De apps doen het erg goed bij de zorginstellingen. Je kunt hierbij denken aan apps verpleegkundigen, thuiszorgmedewerkers, de logistieke dienst en - natuurlijk - de artsen zelf. Door jouw hands-on mentaliteit, eigenwijsheid en technisch inzicht kun je nauwkeurig herbruikbare software schrijven. Die software sluit naadloos aan op onze ‘back end’ (HiX, onze ICT-totaaloplossing voor de zorg).

Bekijk vacature »

Java developer senior

Functie­omschrijving ''Ik werk voor de douane en houd mij bezig met het proces Binnenbrengen, Uitgaan en Provianderen. In de Rotterdamse haven komen de grootste containerschepen binnen en alles op het schip moet aangegeven worden. Als er dan iets fout gaat met de aangiftes ontstaat er een file op de A15 van vrachtwagens die de containers willen ophalen. Je pakketje uit China is dan nóg langer onderweg. Kortom een boeiend proces waarbij heel veel verschillende technieken om de hoek komen kijken.'' Bert Gritter - Senior Java developer. Bij de Belastingdienst ontwikkelen we applicaties die direct van zeer grote invloed zijn op

Bekijk vacature »

Front-end Developer Vue.js Meewerkend voorman

Functieomschrijving Ben jij een ervaren Front-end Developer, bedreven in Vue.js en lijkt het jou gaaf om als meewerkend voorman verantwoordelijk te zijn voor de ontwikkeling van drie junior ontwikkelaars? Werk jij graag aan diverse projecten t.b.v. het vergroten van klant- en medewerkerbeleving? Lee dan snel verder! Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en api ontwerp; Participeren in

Bekijk vacature »

C# backend developer, Rotterdam

Voor een grote organisatie in Rotterdam zijn we op zoek naar iemand met ruime ervaring in het ontwikkelen van applicaties in .NET C#. Het gaat hier om een organisatie met een maatschappelijke impact. Hun systemen zijn gericht op een groot aantal klanten waarbij het belangrijk is dat de applicaties helder, toegankelijk en up-to-date zijn. Als .NET C# developer werk je aan uiteenlopende applicaties, APIs en het interne framework. Dit doe je binnen een SCRUM team en meedenkt binnen het hele proces. Het team bestaat uit meerdere C# developers variërend van medior tot senior. Er is dus veel kennis en ervaring

Bekijk vacature »

Pagina: 1 2 volgende »

Johan M

Johan M

23/01/2008 16:08:00
Quote Anchor link
Beste PHPhulpers,

Ik ben op zoek naar een scriptje of functie die het volgende voor mij kan doen:

De cijfers "1, 2, 3, 4 en 5" versimpelen naar "1 - 5" (1 tot en met 5 dus), maar ook:
"1 2 3 5 6 7" naar "1 - 3, 5 - 7".

Voor mijn gevoel is dit de functie range() omgekeerd, maar ik weet dus niet hoe ik dit voor elkaar moet krijgen.
De getallen worden nu weergegeven door een simpele echo, dit kan worden omgezet naar en array.

Hopelijk kan iemand mij hiermee helpen,
grzz. Johan.
Gewijzigd op 01/01/1970 01:00:00 door Johan M
 
PHP hulp

PHP hulp

12/08/2020 11:22:00
 
Frank -

Frank -

23/01/2008 16:22:00
Quote Anchor link
Zo uit de handleiding:
Quote:
range() geeft een array van elementen van low naar high, inclusief. Wanneer low > high, dan zal de reeks lopen van high naar low.


Daarnaast kun je een array ook sorteren, zowel van laag naar hoog als hoog naar laag. Zie sort() en zijn vriendjes.
 
Wessel Johnson

Wessel Johnson

23/01/2008 16:24:00
Quote Anchor link
Dit misschien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$arr
[] = 1;
$arr[] = 2;
$arr[] = 3;
// Enz

echo $arr[0].' - '.end($arr);

//Niet getest

?>
 
Robert Deiman

Robert Deiman

23/01/2008 16:29:00
Quote Anchor link
Wat je zou kunnen doen is de string:

123567 eerst in een array zetten, en dan met een for lus (van min naar het max nummer wat er in staat) controleren of alle waarden er in staan die tussen - en max zitten.

Sla dan de beginwaarde op in een variabele (Array is handigst!!) en begin met het doorlopen van de mogelijkheden. Staat een waarde niet in de array, neem dan die waarde -1 als laatste waarde, en start een nieuwe reeks die verder telt dan waar je bent.

Maar je zit wel met een probleem als je hoger dan 10 komt, want hoe bepaal je:

123567910 dat dan de 10 niet gewoon 1 en 0 zijn?
 
Arjan Schuurman

Arjan Schuurman

23/01/2008 16:40:00
Quote Anchor link
Quote:
range() geeft een array van elementen van low naar high , inclusief. Wanneer low > high, dan zal de reeks lopen van high naar low.
Gooi er dan gewoon even een array_reverse() over en klaar is kees of in dit geval Johan.
 
Johan M

Johan M

23/01/2008 17:15:00
Quote Anchor link
Bedankt voor de reacties, ik ga even een poosje prutsen met de genoemde suggesties.

Ik hoopte dat er een of andere functie voor zou zijn, maar aangezien niemand die noemt begrijp ik dat het niet eens zo'n heel slechte vraag was.

Robert_Deiman schreef op 23.01.2008 16:29:
...
123567910 dat dan de 10 niet gewoon 1 en 0 zijn?
Dit probleem is denk ik niet aan de orde omdat all getallen gescheiden zijn. Hetzij door komma's of spaties o.i.d., of als aparte variabelen in een array, dat maakt niet uit.
 
Robert Deiman

Robert Deiman

23/01/2008 17:24:00
Quote Anchor link
Owja. ;) Het valt me nu pas op dat er een spatie tussen staat, dus dat zal dan geen probleem vormen.

Ik ken daar inderdaad geen functie voor, en het is geen slechte vraag. Vind 't wel een leuk vraagstuk eigenlijk.

Hopelijk kan je wat met mijn suggestie..
 
- SanThe -

- SanThe -

23/01/2008 18:26:00
Quote Anchor link
Hoe gek wil je het hebben?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$arr = array_merge(range(1, 5), range('z', 'm'), array(9, 'A'), range(8, 4));

echo '<pre>';
print_r($arr);
echo '</pre>';

?>

Edit: Volgens mij heb ik de vraag niet goed gelezen. Sorry. :-)
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Johan M

Johan M

23/01/2008 18:36:00
Quote Anchor link
Creatief hoor SanThe, maar idd niet helemaal wat ik zoek :)
 
- SanThe -

- SanThe -

23/01/2008 18:41:00
Quote Anchor link
Hoe krijg je die data binnen? In een string? Met komma's, spaties of wat dan ook er tussen? Zijn het altijd alleen getallen?
 
Johan M

Johan M

23/01/2008 18:45:00
Quote Anchor link
Het zijn inderdaad altijd alleen getallen die uit een SQL-database komen, nu geef ik ze weer met een echo, maar dit zou net zo makkelijk een array kunnen worden. Hier valt altijd wel een mouw aan te passen. Hoe de getallen gescheiden worden maakt dus ook niet uit.
 
Robert Deiman

Robert Deiman

23/01/2008 18:51:00
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
<?php
//string with space separated
$sSpacesep = '1 2 3 4 6 7 8 10 11 12';
//string with comma separated
$sCommasep = '1,2,3,5,6,7,12,13,14,16';

function
createrange($sString,$separator = ' '){
    $aNumbers = explode($separator,$sString);
    $j=1;
    $aNumarray = array();
    for($i=1; $i <= max($aNumbers); $i++){
        
        if(in_array($i,$aNumbers)){
            $aNumarray[$j][] = $i;        
            }

        else{
            $j++;
            }
        }

    $sRange = '';
    foreach($aNumarray as $key => $value){
        if(count($aNumarray[$key]) > 1){
            $sRange .= min($aNumarray[$key]).'-'.max($aNumarray[$key]).' ';
            }

        else{
            $sRange .= min($aNumarray[$key]).' ';
            }
        }

    return $sRange;
    }

    
// example for how to use it with a space separated string
echo createrange($sSpacesep);
// example for how to use it with a comma separated string
echo '<br />';
echo createrange($sCommasep,',');
?>


Edit:

De wijziging bevat nu ook dat je een losstaand nummer ook goed weergegeven wordt.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
- SanThe -

- SanThe -

23/01/2008 18:53:00
Quote Anchor link
Maar om iets te maken wat er mee om kan gaan, moet je op zijn minst weten hoe je het binnen krijgt.
 
Joren de Wit

Joren de Wit

23/01/2008 18:55:00
Quote Anchor link
@Robert: komt in de richting. Gaat alleen nog niet helemaal lekker met een reeks als 1, 2, 3, 5, 7, 8, 9 waarbij er dus ook ranges zijn waarin maar 1 getal voorkomt...

Edit:
Je had het al veranderd zie ik :-)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Robert Deiman

Robert Deiman

23/01/2008 18:56:00
Quote Anchor link
SanThe schreef op 23.01.2008 18:53:
Maar om iets te maken wat er mee om kan gaan, moet je op zijn minst weten hoe je het binnen krijgt.


@SanThe
Zie mijn voorbeeldfunctie ;) Hij gaat er standaard vanuit dat het met een spatie is gescheiden, maar ook met , of elk ander leesteken is prima mogelijk als je dat maar aangeeft.

Je kan ook bijvoorbeeld (omdat je weet dat er alleen maar gehele getallen in mogen staan) controleren een array samenstellen met alle mogelijke scheidingstekens. Komt 1 van die tekens voor, dan kan je het daarop laten scheiden.

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
<?php
//string with space separated
$sSpacesep = '1 2 3 4 6 7 8 10 11 12';
//string with comma separated
$sCommasep = '1,2,3,5,6,7,12,13,14,16';

function
createrange($sString,$separator = ' '){
    
    if(!is_array($sString)){
        $aNumbers = explode($separator,$sString);
        }

    else{
        $aNumbers = $sString;
        }

    $j=1;
    $aNumarray = array();
    for($i=1; $i <= max($aNumbers); $i++){
        
        if(in_array($i,$aNumbers)){
            $aNumarray[$j][] = $i;        
            }

        else{
            $j++;
            }
        }

    $sRange = '';
    foreach($aNumarray as $key => $value){
        if(count($aNumarray[$key]) > 1){
            $sRange .= min($aNumarray[$key]).'-'.max($aNumarray[$key]).' ';
            }

        else{
            $sRange .= min($aNumarray[$key]).' ';
            }
        }

    return $sRange;
    }

    
// example for how to use it with a space separated string
echo createrange($sSpacesep);
// example for how to use it with a comma separated string
echo '<br />';
echo createrange($sCommasep,',');
?>


En in deze versie maakt het niet uit of er een array of een string als input wordt gegeven.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Johan M

Johan M

23/01/2008 18:57:00
Quote Anchor link
Tnx Robert, daar kan ik idd wat mee.

@ SanThe: dat maakt mij dus niet uit, ikzelf was iets aan het proberen op een manier waarmee het als array binnen komt, maar ik schreef dat het nu wordt weergegeven als een lijst met getallen. Daarom is Robert's manier nog mekkelijker! Het is net de manier waarop jij er iets mee kunt om dit op te lossen, de input die er in moet krijg ik wel voor elkaar.

Dat losse getal kan eventueel opgelost worden door een "if (mysql_num_rows($result) == 0)", maar lijkt met met deze laatste versie niet meer nodig.
Gewijzigd op 01/01/1970 01:00:00 door Johan M
 
Robert Deiman

Robert Deiman

23/01/2008 19:03:00
Quote Anchor link
@Johan
Dat losse getal is in ondertussen al opgelost, hij kijkt of er wel meer dan 1 waarden staan in een array. Zo ja, dan komen de min en de max met een streepje ertussen. Is het er maar 1, dan komt de enige waarde gewoon los in de output.

Het is nu in de laatste versie ook mogelijk om via een array te werken, als je dat prettiger vind.

Maar misschien dat het nog mooier is om 2 getallen die achter elkaar komen (5 en 6 die bijv met zijn 2'en bij elkaar blijven) gewoon met een comma te doen. Ga ik ook nog even inbouwen.
 
Johan M

Johan M

23/01/2008 19:06:00
Quote Anchor link
Jep, ik was net mn bericht aan het updaten naar de laatste situatie :)

In ieder geval super bedankt voor deze functie, hij werkt super. Met de update die je voorstelt erbij lijkt het me helemaal geweldig.
Ik had lang zitten tobben en zitten Googlen, maar ik kwam er niet uit, dus ik ben heel blij dat er hier zo fantastisch meegedacht wordt.
 
Frank -

Frank -

23/01/2008 19:09:00
Quote Anchor link
Johan schreef op 23.01.2008 18:45:
Het zijn inderdaad altijd alleen getallen die uit een SQL-database komen
En waarom sorteer je niet in de query? SQL kent niet voor niks de optie ORDER BY....
 
Johan M

Johan M

23/01/2008 19:13:00
Quote Anchor link
Sorteren wordt inderdaad gedaan via de SQL-query. Hierdoor ontstaat bijvoorbeeld dit lijstje:

1,2,3,5
10,14,20,100
21,22,23,24,30,31,32,33,34

Daarom wil ik per regel (deze zouden wel eens heel lang kunnen worden) dat er dit wordt weergegven:

1-3, 5
10, 14, 20, 100
21-24, 30-34

Dit voor het overzicht, en dat gaat volgens mij helemaal lukken met Robert's function. Mocht je dit kunnen oplossen via de SQL, vertel het me dan graag!
 
Frank -

Frank -

23/01/2008 19:16:00
Quote Anchor link
Hoe ontstaan die lijstjes dan? Hoe ziet jouw datamodel eruit? En wat staat er in de diverse records aan data? Kun je daar een voorbeeldje van geven?

(ik vrees het ergste, het ziet eruit als gesorteerde tekst en geen getallen...)
 

Pagina: 1 2 volgende »



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.