sizeof

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer die een bijdrage levert aan de

Dutch is mandatory for this position. Vind jij het belangrijk om een baan te hebben die bijdraagt aan een schonere wereld? Een baan waarbij je direct impact hebt in het digitalisering van informatiestromen, oftewel een wereld zonder papier. Doormiddel van hun eigen ontwikkelde software kunnen bedrijven digitaal documenten beheren, delen, ondertekenen en archiveren. Dat betekent dat er geen printers of scanners meer nodig zijn en je bent niet meer afhankelijk van koeriers. Dit scheelt tijd, geld en grondstoffen. Samen met een team van vijf developers ga je nieuwe software oplossingen ontwikkelen. Daarnaast ga je ook nieuwe gebruiksvriendelijke functionaliteiten aan onze

Bekijk vacature »

Java Developer - Overheid

Wil jij een bijdrage leveren aan de ontwikkeling van de digitale overheid en de maatschappelijke vraagstukken waar we met elkaar voor staan? Bel of Whatsapp met Mark Hartman via 06 29070400! Als Java ontwikkelaar houd jij je bezig met het realiseren van mooie en innovatieve oplossingen voor de Nederlandse overheid. • Hoe? Het ontwerpen en ontwikkelen met Java in een van onze complexe projecten. • Waarom? Om met jouw code het verschil te maken in het hart van de digitale overheid in Nederland. • Waar? Bij CGI in Rotterdam, dé IT-specialist op het gebied van digitale overheid. • Met wie?

Bekijk vacature »

Senior AWS Cloud Developer IoT Platform (NL)

Senior AWS Cloud Developer IoT Platform (NL) Den Haag HBO/WO IT Professional Om alle Unique Loading Devices (ULD's) in real-time te kunnen volgen, hebben we een IoT landschap gecreëerd dat ons continu update met de locatie en sensor informatie van de ULD's. Het IoT platform is volledig ontworpen met behulp van AWS serverless componenten en Serverless Architecture staat in het middelpunt van al onze ontwerpen. Enkele van de componenten die we gebruiken zijn AWS IoT services, Amazon Location Service, AWS Lambda enzovoort. Op ons platform vertalen we alle detecties van ULD's, vanuit AWS IoT Core naar relevante informatie over wanneer

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

Google Cloud Engineer

As part of our Cloud service line, you will lead IT innovation for our clients through robust delivery of world-class solutions. There will never be a typical day and you will continuously experience and learn. The opportunities to make a difference within exciting client initiatives are unlimited in the ever-changing technology landscape. You will be part of a growing network of technology experts who are highly collaborative taking on today’s biggest, most complex business challenges. Google Cloud Engineer 32-40 hours per week Your job The Cloud Practice includes our deepest Google Cloud experts and supports Accenture’s more than 1,000+ practitioners

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. Artificial intelligence, machine learning en innovatieve zoek oplossingen. Zoek oplossingen? Yes! Solliciteren moet makkelijk en leuk zijn. Toch? Daar kan jij aan bijdragen! wat ga je

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Als .NET Developer 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. De organisatie heeft ook een adviserende rol, omdat het de klantprocessen raakt en de markt constant in beweging is. Je werkt voor toonaangevende klanten, waaronder o.a. grote financiële dienstverleners, overheidsorganisaties, verzekeringsmaatschappijen en telecombedrijven. De organisatie wordt gekenmerkt als een

Bekijk vacature »

.Net Software Developer – Smart Logistics

Heb jij ervaring met applicatie ontwikkeling, testen en onderhoud van business-kritische .NET applicaties? En wil je graag met de nieuwste technologieën werken binnen een DevOps scrumteam? Wat ga je doen? “Use digital to move smarter De unit Smart Logistics binnen de Transport & Logistics sector van CGI ontwerpt, bouwt en onderhoudt veelal missie-kritische applicaties voor onze klanten uit de transport en logistieke sector. Zonder deze sector worden onze pakketjes niet op tijd afgeleverd, rijden de treinen niet meer van a naar b en varen schepen niet veilig de haven binnen. Om deze transport en logistieke ketens te monitoren en sturen,

Bekijk vacature »

Technical Lead Developer met doorgroei mogelijkhed

Voor een toonaangevende specialist in softwareoplossingen gericht op strategisch portfolio management ben ik op zoek naar een ambitieuze Technical Lead. De applicatie is volop in ontwikkeling. Zo worden er vele nieuwe functionaliteiten toegevoegd in .Net Core en staat een migratie naar de Azure op de planning. Om deze ontwikkeling te begeleiden en het team aan te sturen, zijn ze op zoek naar een ambitieuze Technical Lead. Wat je gaat doen: Een roadmap maken voor de komende jaren De juiste architectuur neerzetten, hands-on ontwikkelen (front-end en back-end) De migratie naar Azure begeleiden Het 8-koppige ontwikkel team inhoudelijk aansturen en coachen Communicatie

Bekijk vacature »

Software Developer / full-stack

Bedrijfsomschrijving Voor een organisatie binnen de zakelijke dienstverlening zijn wij op zoek naar een Software Developer met goede kennis van zowel Java als front-end technieken als Angular. Het betreft een organisatie bestaande uit ongeveer 100 mensen die klaar staan voor ruim twee duizend klanten. De organisatie staat bekend om het feit dat zij met hun kwalitatief goede dienst een van de snelste zijn. Dit valt op in de markt en dit bewerkstelligen zij door alles zoveel mogelijk te automatiseren. IT, en software development in het bijzonder, wordt als erg belangrijk gezien. Het complexe applicatie landschap is geheel maatwerk en geschreven

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Fullstack Developer /.NET Core

Bedrijfsomschrijving Als Fullstack Developer kom je te werken in de regio Almere bij een organisatie, dat als internationale marktleider opereert op het gebied van detailhandel. Vanuit ruim tienduizend locaties verkopen zij hun producten aan de klanten. Om diverse data en bedrijfsprocessen van HR, CRM tot inkoop overzichtelijk in beeld te hebben heeft de organisatie een bedrijf kritische applicatie ontwikkeld. Ter versterking van het development team, bestaand uit 6 ontwikkelaars, is de organisatie op zoek naar een ervaren Fullstack Developer. Als Full stack Developer zal je bezighouden met zowel het development als het onderhoud van de applicatie. Jouw werkzaamheden zullen 80%

Bekijk vacature »

Full Stack Java Developer Graduate Program –

Via Experis Academy krijg je een unieke kans om de in de branche gewilde expertise op te doen die jou tot een gewilde Full Stack Java Developer met een frontend-specialisatie maken. Het programma duurt 21 maanden en eindigt met een vaste baan bij een van onze vele, boeiende klanten, of je blijft bij ons (Experis) werken. Ons programma tot Java Developer Experis Academy start met een op maat gemaakte cursus die drie maanden duurt. Gedurende deze maanden komen theorie, praktijk en Java-certificeringen aan bod. Hierbij is het onderwijsprogramma gebaseerd op de principes als versnelde training en flipped classroom. De volgende

Bekijk vacature »

Business Developer Refurbished

Bestaande en nieuwe afzetkanalen aanboren om de verkopen van refurbished en andere niet-nieuwe apparaten omhoog te brengen. Wat doe je als Business Developer Refurbished bij Coolblue? Als Business Developer Refurbished ben jij verantwoordelijk om zoveel mogelijk afzetkanalen te vinden voor refurbished apparaten voor de beste prijs. Dit zijn voornamelijk opkopers en andere tussenpartijen. Ook Business Developer Refurbished worden? Lees hieronder of het bij je past. Dit vind je leuk om te doen Vrijheid hebben om zelf je afzetkanalen te zoeken en een door jou gekozen verkoopstrategie te hanteren Bij opkopers, kringloopwinkels en andere verkopers van 2de hands witgoed langs gaan

Bekijk vacature »

Stage Web Developer

Job description You are partly responsible for the development of the Front-end and/or Back-end of Nibblr. Depending on your qualities, you will be deployed for front-end or back-end activities. We prefer to train you as a full-stack developer, as the developers in the team are. You work on custom solutions using the latest techniques. Within the product development team, you mainly work under the supervision of the Lead developer and interaction / visual designer who takes care of the creative and interaction side. You work together with other developers on new features. You also think along to improve the user

Bekijk vacature »
Jan Bakker

Jan Bakker

22/10/2020 10:14:21
Quote Anchor link
Hallo allemaal, ik zit met de volgende vraag:
Deze regel geeft een waarschuwing in mijn code. (Warning = sizeof(): Parameter must be an array or an object that implements Countable in)
Quote:
for($i=0; $i<sizeof($gpx_files); $i++) {
HTML_gpx::viewBatchImportTableRow($i+1, $gpx_files[$i]);


Enig zoekwerk doet mij vermoeden dat er "is_array" voor moet komen, maar hoe precies snap ik niet.

Jan
 
PHP hulp

PHP hulp

11/05/2021 23:01:50
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 10:19:18
Quote Anchor link
Een controle of het een array is, is wel gewenst. Maar waar komt die variabele $gpx_files vandaan?

Het is dus geen array/object.
 
Jan Bakker

Jan Bakker

22/10/2020 10:54:57
Quote Anchor link
Een paar regels erboven vermoed ik.
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
//  batchimport GPX  bestand //
function batchimportGPX() {
    global $DEBUG, $cfg;
    HTML::heading(_MENU_GPX_BATCH_IMPORT, 3);
    if(!$cfg['public_host'] || check_password($cfg['admin_password'])) {
        echo "<script src='./libraries/import.js'></script>\n";
        // set current upload dir and scan it for gpx files
        $dir = GPX_UPLOAD_DIR;
        $gpx_files = scan_dir_f($dir, 0, 'FILETYPE_FILE', 'GPX');
        
        HTML::message_r(_TRC_BATCH_IMPORTING_DIR, $dir);
        HTML::message(_TRC_CHOOSE_FILES_FOR_BATCH_IMPORTING);
        if($DEBUG)    print_r($gpx_files);
        
        HTML_gpx::viewBatchImportTableHeader();
        for($i=0; $i<sizeof($gpx_files); $i++) {
            HTML_gpx::viewBatchImportTableRow($i+1, $gpx_files[$i]);
        }
        HTML_gpx::viewBatchImportTableFooter($dir);
        HTML_gpx::viewImportProgress();
    }else {
        HTML::message(_NOT_AUTH ." ". _DO_LOGIN);
    }
}
Gewijzigd op 22/10/2020 16:12:28 door - Ariën -
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 11:08:40
Quote Anchor link
Kan je de debug een aanzetten?

NB: Voor scripts hebben we code-tags.
Gewijzigd op 22/10/2020 11:09:33 door - Ariën -
 
Jan Bakker

Jan Bakker

22/10/2020 11:18:48
Quote Anchor link
Sorry maar er is geen "code tag" hoor, heb daar al meer naar gezocht hier omdat het mij zeer verbaasde dat die er niet was.
Debug staat aan (volgens mij toch) en geeft deze melding:
Quote:
Warning: sizeof(): Parameter must be an array or an object that implements Countable in /home/u57968p54877/domains/jan-karina.es/public_html/wandelingen/phpmygpx/gpx.php on line 451


Bedankt trouwens vooor je snelle reacties.
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 11:24:48
Quote Anchor link
Die tag is er wel. Zie ook de Veelgestelde Vragen. :-)

Als de debug aanstaat moet je een array-boom zien.
Gewijzigd op 22/10/2020 11:25:16 door - Ariën -
 
Ad Fundum

Ad Fundum

22/10/2020 11:50:16
Quote Anchor link
sizeof() is een alias voor de functie count() en moet een variabele krijgen waar iets achter zit dat de Countable interface heeft geïmplementeerd. Arrays hebben dat standaard, maar het mag ook een object van eigen class zijn.

PHP klaagt dat $gpx_files niet te tellen is via de Countable interface, het is blijkbaar geen array en verwijst ook niet naar iets anders dat de Countable interface wel heeft. Je zult moeten achterhalen wat er dan wel in $gpx_files zit, bijvoorbeeld met var_dump():

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php var_dump($gpx_files); ?>

Je moet daarna achterhalen hoe het komt dat $gpx_files niet voldoet aan het criterium van sizeof(), en besluiten hoe je dat op wilt lossen in de code die voorafgaat aan de for-lus.
Gewijzigd op 22/10/2020 11:51:49 door Ad Fundum
 
Jan Bakker

Jan Bakker

22/10/2020 12:41:12
Quote Anchor link
Bedankt voor je antwoord maar daar moet ik eens heel lang op stureren hoor :-)
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 12:42:47
Quote Anchor link
De vraag is: als het geen array of object is, wat is het wel?
 
Jan Bakker

Jan Bakker

22/10/2020 12:47:41
Quote Anchor link
Quote:
Die tag is er wel. Zie ook de Veelgestelde Vragen. :-)

Het zou wel gemakkelijker zijn als je gewoon in de editorbalk staat ;-)

Toevoeging op 22/10/2020 12:54:50:

- Ariën - op 22/10/2020 12:42:47:
De vraag is: als het geen array of object is, wat is het wel?


Mijn inziens is het de inhoud van een formulier, verder zou ik het echt niet weten.
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 13:01:25
Quote Anchor link
Daarom moet je die var_dump() toevoegen.
Als je [code] en [/code]-tags toevoegt heb je ook lijnnummer erbij.

En ja, de knop ontbreekt. Er komt wel een keer een moment dat die wordt toegevoegd bij onderhoud aan de site.
Gewijzigd op 22/10/2020 13:01:56 door - Ariën -
 
Jan Bakker

Jan Bakker

22/10/2020 13:20:40
Quote Anchor link
Ik ga het eens bekijken op mijn gemak, bedankt in ieder geval.
 
Ivo P

Ivo P

22/10/2020 14:23:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$gpx_files = scan_dir_f($dir, 0, 'FILETYPE_FILE', 'GPX');


scan_dir() is een standaard php-functie. Zo te zien heb jij een eigen variant hierop gemaakt scan_dir_f()

En die geeft iets anders terug dan een array, wat scan_dir() wel doet.
Wat geeft jouw functie wel terug? En is dat onder alle omstandigheden zo?

Bijvoorbeeld: als er geen files gevonden worden: wordt dan een leeg array teruggegeven? of komt er NULL of FALSE terug?
 
Jan Bakker

Jan Bakker

22/10/2020 16:09:38
Quote Anchor link
Voor de duidelijkheid ik heb helemaal niets gemaakt omdat ik niet kan programmeren, (toch niet in php)
Ik zoek alleen hulp omdat het gevonden oude script een aantal fouten gaf, de meeste heb ik zelf gevonden maar dit is de laatste waar ik geen oplossing voor vindt.
Alleen al antwoord geven op jullie vragen is al erg moeilijk voor mij ;-)
Gelukkig werkt het hele programma wel, dus haast is er niet bij.
 
- Ariën -
Beheerder

- Ariën -

22/10/2020 16:15:06
Quote Anchor link
Voor het gemak heb ik een [code] tag geplaatst waarbij je dus regelnummering ziet.
Maar je moet even zoeken in je codebase naar de function: scan_dir_f
 
Jan Bakker

Jan Bakker

22/10/2020 16:55:33
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
// self-made function like 'scandir()' from PHP5
function scan_dir($dir, $sorting_order, $type) {
    $filelist = scan_dir_f($dir, $sorting_order, $type, 0);
    return $filelist;
}

// self-made extended scandir function with filetype filter
function scan_dir_f($dir, $sorting_order, $type, $filter) {
    // definitions of constants for 'type'
    $FILETYPE_ALL = 0;
    $FILETYPE_DIR = 1;
    $FILETYPE_FILE = 2;

    if(!is_int($type)) $type = $$type;
    clearstatcache();
    $dirhandle  = opendir($dir);
    while (false !== ($file = readdir($dirhandle))) {
        if($file != "." && $file != "..") {
               switch($type) {
                   case 0:
                    $files[] = $file;
                    break;
                   case 1:
                    if(is_dir($dir.$file)) $files[] = $file;
                    break;
                   case 2:
                    if(is_file($dir.$file)) {
                        $ext = substr($file, strrpos($file, '.')+1);
                        if(!$filter || strtolower($ext) == strtolower($filter))
                            $files[] = $file;
                    }
                    break;
            }
           }
    }
    closedir($dirhandle);
    if(isset($files)) {    # prevents php warning
        if($sorting_order == 1) rsort($files);
        else                    sort($files);
    }
    return $files;
}
 
Ozzie PHP

Ozzie PHP

22/10/2020 17:15:04
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// self-made extended scandir function with filetype filter
function scan_dir_f($dir, $sorting_order, $type, $filter) {
    $files = [];                                            <= deze regel toevoegen
    // definitions of constants for 'type'
    $FILETYPE_ALL = 0;

?>
Gewijzigd op 22/10/2020 17:15:43 door Ozzie PHP
 
Jan Bakker

Jan Bakker

22/10/2020 17:25:05
Quote Anchor link
Ontzettend bedankt Ozzie, dat was inderdaad de oplossing.
 
Ozzie PHP

Ozzie PHP

22/10/2020 17:28:23
Quote Anchor link
Geen dank hoor. Succes met je project.
 
Thomas van den Heuvel

Thomas van den Heuvel

22/10/2020 18:01:06
Quote Anchor link
Fijn dat het is opgelost het ongewenste gedrag lijkt te zijn verdwenen, maar het is natuurlijk ook interessant om te achterhalen waarom deze melding (ineens?) de kop opsteekt.

Komt het misschien omdat er lege directories ergens binnen geslopen zijn?
Of wellicht heeft jouw webboer de PHP-versie gebumpt en/of de strictheid waarmee fouten worden gemeld opgevoerd?

Hoe dan ook, indien deze meldingen eerder niet optraden, en nu wel, houdt dat in dat er *iets* is veranderd, of dat er op een bepaalde manier andere condities gelden voor de omgeving waarin deze functionaliteit actief is.

Code (en haar werking) verandert/muteert doorgaans niet spontaan; het doet altijd precies datgene wat geschreven is.

NB sizeof() is een alias, gebruik bij voorkeur geen aliassen, want die kunnen op den duur obsolete raken/helemaal worden verwijderd.
Gewijzigd op 22/10/2020 18:02:13 door Thomas van den Heuvel
 



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.