Wat is er mis?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Thijs anoniem

Thijs anoniem

23/08/2012 17:13:34
Quote Anchor link
Sinds vandaag ben ik begonnen met php leren. Graag heb ik wat hulp nodig om dit simpele scriptje te laten werken.

Quote:
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
<?php

{
    {

    // names
    $friend(0) = "A";
    $friend(1) = "B";
    $friend(2) = "C";
    define (myfriendsnames,"$friend(0)" + "$friend(1)" + "$friend(2)")
        echo "The names of my friends are" . "myfriendsnames" . "."

    // ages
    $age(A) = "17";
    $age(B) = "17";
    $age(C) = "17";
    define (totalage,"$age(A)" + "$age(B)" + "$age(C)")
    echo "The number of years my friends have lived is" . "totalage" . "years.";
    }
}

?>
Gewijzigd op 23/08/2012 17:19:33 door Thijs anoniem
 
PHP hulp

PHP hulp

22/12/2024 17:43:00
 
- Mark -

- Mark -

23/08/2012 17:20:33
Quote Anchor link
Ik heb geen idee wat je aan het doen bent maar voor zover ik het eruit kan halen wil je met arrays werken on niet?
 
Thijs anoniem

Thijs anoniem

23/08/2012 17:26:40
Quote Anchor link
Programma om te laten zien dat A, B en C mijn vrienden zijn en dat de totale leeftijd 17 + 17 + 17 is.

Dit is inderdaad mijn eerste test met arrays.
Gewijzigd op 23/08/2012 17:28:59 door Thijs anoniem
 
John Berg

John Berg

23/08/2012 17:29:35
Quote Anchor link
defines zijn er om constanten te definieren, daarom het het ook define :-)

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
<?php

{
    {

    // names
    $friend[0] = "A";
    $friend[1] = "B";
    $friend[2] = "C";

    $myfriends = implode( ' ', $friend );

    echo "The names of my friends are" . $myfriends;

    // ages
    $age['A'] = 17;
    $age['B'] = 17;
    $age['C'] = 17;

    $totalage = $age['A'] + $age['B'] + $age['C'];

    echo "The number of years my friends have lived is: " . $totalage . " years.";
    }
}

?>


Ik zou zeggen, kijk eens online naar wat voorbeelden, koop een goed boek en doe die dingetjes na.
Gewijzigd op 23/08/2012 17:51:19 door John Berg
 
- Mark -

- Mark -

23/08/2012 17:32:56
Quote Anchor link
@ John je verwisseld explode met implode.

Voor het bereken van de leeftijden tezamen kun je ook array_sum gebruiken.

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

    # Settings : Set array $friends met daarin de namen van al mijn vrienden.

        $friends = array('Kwik', 'Kwek', 'Jantje');


    # Settings : Set array $age met daarin de leeftijd van al mijn vrienden.

        $age = array(17, 17, 17);


    # De leeftijd van al mijn vrienden tezamen berekenen.

        $total_age = array_sum($age);


    # Mijn lijst met vrienden weergeven.

        echo 'The names of my friends are '.implode(', ', $friends).'.';
        

    # De totale leeftijd van al mijn vrienden weergeven.

        echo 'The number of years my friends have lived is '.$total_age.' years.';

?>
Gewijzigd op 23/08/2012 17:33:29 door - Mark -
 
John Berg

John Berg

23/08/2012 17:50:58
Quote Anchor link
@Mark: haha, zo zie je maar, ik heb meer met explosies :-)

Ik heb het aangepast.

Eigenlijk was het een idee om een soort van overzicht te maken met al dit soort voorbeeldjes .. of is er dat al?
 
Thijs anoniem

Thijs anoniem

23/08/2012 18:09:40
Quote Anchor link
Mark en John, heel erg bedankt voor jullie reacties. Helaas werkt de code nog niet.

Ik heb nu deze code:

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
<?php //on

{
    {

    // names
    $friend('0') = "A";
    $friend('1') = "B";
    $friend('2') = "C";
    
    $myfriends = "$friend('0')" + "$friend('1')" + "$friend('2')";
    
        echo "The names of my friends are" . "$myfriends";
        
    // ages
    $age('A') = "17";
    $age('B') = "17";
    $age('C') = "17";
    
    $totalage = "$age('A')" + "$age('B')" + "$age('C')";
    
        echo "The number of years my friends have lived is" . "$totalage" . "years.";
    }
}

?>
 
John Berg

John Berg

23/08/2012 18:23:07
Quote Anchor link
Met alle respect, maar vergelijk nu eens wat je zelf opschrijft en wat ik schreef.

PHP is een programmeertaal, je dient je houden aan wat de taal voorschrijft, en je kunt niet zomaar zelf een taal verzinnen!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/08/2012 18:34:57
Quote Anchor link
En daarbij is het heel belangrijk het verschil te kennen tussen rond(e haakjes) en vierkant(e haakjes)
Gewijzigd op 23/08/2012 18:35:15 door Ger van Steenderen
 
Koen Hollander

Koen Hollander

23/08/2012 18:52:20
Quote Anchor link
Thijs anoniem op 23/08/2012 18:09:40:
Mark en John, heel erg bedankt voor jullie reacties. Helaas werkt de code nog niet.

Ik heb nu deze code:

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
<?php //on

{
    {

    // names
    $friend('0') = "A";
    $friend('1') = "B";
    $friend('2') = "C";
    
    $myfriends = "$friend('0')" + "$friend('1')" + "$friend('2')";
    
        echo "The names of my friends are" . "$myfriends";
        
    // ages
    $age('A') = "17";
    $age('B') = "17";
    $age('C') = "17";
    
    $totalage = "$age('A')" + "$age('B')" + "$age('C')";
    
        echo "The number of years my friends have lived is" . "$totalage" . "years.";
    }
}

?>


Deze gaat dus niet werken. Dat weet ik zelfs. Ik som enkele fouten op

1. Wat doen die accolades er in? Het werkt gerust als je ze er uit haalt.

2. Cijfers zet je dus niet binnen de quotes.

Ik heb het een klein beetje voor je aangepast.(rekenen werkt niet maar is wel veel beter)
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
<?php
//variabelen
$friend0="Kwik";
$friend1="Kwek";
$friend2="Kwak";
$together=$friend0 . " + " . $friend1 . " + " . $friend2;

echo "The names of my friends are: " . $together;
?>

<br><br>
<?php
$age0
=17;
$age1=17;
$age2=17;
$totalage=$age0 . "+" . $age1 . "+" . $age2;

echo "The number of years my friends have lived is" . $totalage . "years";
?>
Gewijzigd op 23/08/2012 18:54:39 door Koen Hollander
 
- Mark -

- Mark -

23/08/2012 18:53:41
Quote Anchor link
Ik neem aan dat dit alles is wat je hier plaatst? Als dat het geval is dan horen de regels 3,4, 22 en 23 niet in je script thuis.

Ten tweede moet je dan ook de array's nog declareren. Je bent nu elementen ergens aan toe aan het voegen dat nog niet bestaat.

Het is niet fout om je array's op deze manier neer te zetten, het kan de leesbaarheid ten goede komen. Maar ik neem aan dat je weet dat wat ik schreef hetzelfde is of niet?

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

    $friend
= array();
    $friend[0] = 'A';
    $friend[1] = 'B';
    $friend[2] = 'C';

    $age = array();
    $age['A'] = 17;
    $age['B'] = 17;
    $age['C'] = 17;
?>


is hetzelfde als

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
<?php

    # Mijn vrienden.

        $friend = array('A', 'B', 'C');


    # De leeftijd van mijn vrienden.

        $age = array(

            'A' => 17,
            'B' => 17,    
            'C' => 17
        );


?>
Gewijzigd op 23/08/2012 18:56:58 door - Mark -
 
Erwin H

Erwin H

23/08/2012 18:55:02
Quote Anchor link
Van de regen in de drup zou ik dit noemen.... (reagerend op post van Koen)


Thijs, kijk naar het voorbeeld van John Berg aub. Dat is de correcte manier.
Gewijzigd op 23/08/2012 18:55:37 door Erwin H
 
Koen Hollander

Koen Hollander

23/08/2012 19:01:56
Quote Anchor link
Erwin H op 23/08/2012 18:55:02:
Van de regen in de drup zou ik dit noemen.... (reagerend op post van Koen)


Thijs, kijk naar het voorbeeld van John Berg aub. Dat is de correcte manier.


Dat is denk ik wel beter dan zijn eerste hoor. Ik haal tenminste wat beginnersfouten weg.

Ik denk dat je hier wel wat aan hebt: http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/
 
Marco M

Marco M

23/08/2012 19:03:03
Quote Anchor link
Een werkende versie van je brouwseltje hierboven:
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
<?php
            // names
            $friend[0] = "A";
            $friend[1] = "B";
            $friend[2] = "C";

            // ages
            $age['A'] = "17";
            $age['B'] = "17";
            $age['C'] = "17";

            $totalage = $age['A'] + $age['B'] + $age['C'];
            $myfriends = $friend[0].' '.$friend[1].' '.$friend[2];

            echo '<p>The names of my friends are '.$myfriends;
            echo '<p>The number of years my friends have lived is ' .$totalage. 'years.</p>';
?>


Zoals hierboven al aangegeven zit er een groot verschil tussen een normaal haakje ( en een vierkant haakje [
Lees ook eens even wat meer over arrays om te begrijpen hoe het zou moeten.


Hieronder een voorbeeldje van een alternatieve manier om het te doen. Niet de mooiste, maar hopelijk wel begrijpelijk voor je.
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
<?php
            echo '<p>The names of my friends are ';
            foreach($friend as $f){
                echo $f.' ';
            }

            echo '</p>';


            foreach($age as $key => $value){  // De keys zijn in dit geval de letters A t/m C, de values zijn de leeftijden (3x 17 jaar)
                echo '<p>My friend '.$key.' is '.$value.' years old.</p>';
            }



            $totalage = 0;
            foreach($age as $a){
                $totalage += $a;
            }


            echo '<p>The number of years my friends have lived is '.$totalage.' years</p>';
?>
 
Koen Hollander

Koen Hollander

23/08/2012 19:07:26
Quote Anchor link
Quote:
Zoals hierboven al aangegeven zit er een groot verschil tussen een normaal haakje ( en een vierkant haakje [


Het lijkt me handig als je uitlegt hoe ze heten. Zo weet Thijs dat ook.

Het is heel simpel: Dit haakje '[' is een bracket en dit '(' is een normaal haakje.
 
Erwin H

Erwin H

23/08/2012 19:12:49
Quote Anchor link
Thijs anoniem op 23/08/2012 17:26:40:
Dit is inderdaad mijn eerste test met arrays.

Koen Hollander op 23/08/2012 19:01:56:
Dat is denk ik wel beter dan zijn eerste hoor. Ik haal tenminste wat beginnersfouten weg.

Je haalt compleet alles wat met een array te maken heeft weg, juist waar iets mee wilde gaan doen. Dat noem ik van de regen in de drup, want daarnaast had hij het gebruik van de plusjes wel goed en jij niet.
 
Lex van der poel

lex van der poel

23/08/2012 19:14:03
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
<?php //on

    // names

    $friend[0] = "A";
    $friend[1] = "B";
    $friend[2] = "C";
    
    $myfriends = $friend[0] + $friend[1] + $friend[2];
    
        echo "The names of my friends are" . $myfriends;
        
    // ages
    $age['A'] = 17;
    $age['B'] = 17;
    $age['C'] = 17;
    
    $totalage = $age['A'] + $age['B'] + $age['C'];
    
        echo "The number of years my friends have lived is" . $totalage . "years.";
?>

wat jij gepost hebt maar dan verbeterd.
Ik zou zeggen zoals John Berg all zij koop een boek over php en lees hem lekker helemaal uit in je vrije tijd.
Gewijzigd op 23/08/2012 19:14:50 door lex van der poel
 
- Mark -

- Mark -

23/08/2012 19:15:15
Quote Anchor link
@ Koen,

Cijfers achter vars is verre van mooi, het werkt wel daar van niet. Maar een array is de oplossing voor dit soort problemen. Je loopt ook een hele hoop handige functies mis als je het op die manier doet.

Edit, wat te laat. "Lekker druk topic."
Gewijzigd op 23/08/2012 19:18:15 door - Mark -
 
Eddy E

Eddy E

23/08/2012 19:32:17
Quote Anchor link
Zie ook http://codepad.org/7YfLGQFq

Lekker kort:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$friends
= array("Kwik" => 16, "Kwek" => 17, "Kwak" => 18);

$totaal = array_sum($friends);
$gemiddelde = $totaal / count($friends);

echo implode(", ", array_keys($friends)).' zijn samen '.$totaal.' jaar, dus zijn gemiddeld '.$gemiddelde.' jaar oud.';
?>


Geeft: Kwik, Kwek, Kwak zijn samen 51 jaar, dus zijn gemiddeld 17 jaar oud.
Gewijzigd op 23/08/2012 19:34:36 door Eddy E
 
Bart V B

Bart V B

23/08/2012 20:05:41
Quote Anchor link
Thijs, er is nog een array versie in php5.4 kan je het ook nog anders doen.
(Heb even bovenstaand voorbeeld genomen maar maakt verder niet uit..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
 
$friends
= ['Kwik' =>16 , 'Kwek' =>17 , 'Kwak' => 18];

$totaal = array_sum($friends);

$gemiddelde = $totaal / count($friends);

echo implode(", ", array_keys($friends)).' zijn samen '.$totaal.' jaar, dus zijn gemiddeld '.$gemiddelde.' jaar oud.';

?>
 
- Mark -

- Mark -

23/08/2012 20:10:39
Quote Anchor link
Zullen we even stoppen met het aanhalen van mogelijkheden? Volgens mij ziet Thijs door de bomen het bos niet meer.

@ Bart, het is een leuk weetje maar er zijn nog bijna geen hosts die 5.4 gebruiken dus veel heb je daar nog niet aan.
 

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.