omgekeerde range()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

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 »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Node.js developer looking for a challenging consul

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 »

Senior Fullstack developer wanted! (C#, Java, Angu

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 »

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 »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

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

17/05/2024 13:47:15
 
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.