abonnement Unibet Coolblue Bitvavo
  woensdag 30 april 2008 @ 20:38:40 #176
12880 CraZaay
prettig gestoord
pi_58403562
quote:
Op woensdag 30 april 2008 20:31 schreef Piles het volgende:

Veranderd niks aan de situatie
Dat snap ik, het ging me vooral om het DRY-karakter en het gebruik van dubbele/enkele quotes.

Maar het zijn in de source dus echt spaties (niet line endings in de HTML die gerenderd worden als spaties)?
pi_58403627
Oh, ik zie het al
Het is & nbsp;
pi_58420193
Ik heb een functie met die checkt of een variable leeg is of niet, wanneer hij leeg is zegt hij dat hij leeg is :D. Maar dan wordt het: Hoe krijg je de tekst van een variable die leeg is op het scherm, dus de naam van de lege variable?

1
2
3
4
5
6
7
<?php
function checkempty($var){
    if(empty(
$var) ){
    echo 
"$var niet ingevoerd";
    }
}
?>
pi_58420375
De naam die je intern gebruikt komt toch niet overeen met de naam die je de gebruiker wil tonen. Ik zou een extra parameter toevoegen voor de "friendly name".
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_58420441
1
2
3
4
5
6
7
8
9
<?php
function ce($var,$dn){
    if(empty(
$var) ){
    echo 
$dn." niet ingevoerd";
    }
}

ce($name,'naam')
?>


Is er iets waarmee je eenvoudig 10 waardes kan invoeren in zon functie?
pi_58420477
$var is de naam van de variabele toch al?
als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
dan is het
if(empty($$var))
{
// $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
}
pi_58420626
quote:
Op donderdag 1 mei 2008 18:36 schreef Intrepidity het volgende:
$var is de naam van de variabele toch al?
als je checkempty("blaat") aanroept moet ie checken of $blaat leeg is lijkt me toch?
dan is het
if(empty($$var))
{
// $var nu outputten.. $var uit $$var word dus omgezet naar "blaat" --> $blaat
}
Kan ook, maar wat SuperRembo zegt klopt, ik wil eigenlijk een userfriendly name eruit hebben. Dus nu nog een manier vinden om 10 waardes in te voeren. Ik kan het handmatig doen, dan heb ik 10 regels code. kan het slimmer?
pi_58421187
Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 1 mei 2008 @ 23:05:00 #184
85514 ralfie
!Yvan eht nioj
pi_58425791
umm, waarom niet gwoon een arraytje?

1
2
3
4
5
6
7
8
9
<?php
foreach(not_set( array('var1'=>'naam','var2'=>'lft','var3'=>'tijd','var4'=>'geslacht') as $var )  echo "hee dombo, je hebt '$var' niet gezet!";

function 
not_set($arr) {
   
$out=array();
   foreach(
$arr as $v=>$x) if(empty($GLOBALS[$v])) $out[]=$x;
   return 
$out;
}
?>
mss niet grammaticaal correct, maar het idee klopt toch?
pi_58427676
quote:
Op donderdag 1 mei 2008 23:05 schreef ralfie het volgende:
umm, waarom niet gwoon een arraytje?
[ code verwijderd ]

mss niet grammaticaal correct, maar het idee klopt toch?
Mmm, dat soort code kan ik allemala niet Ik zal es opzoeken hoe het werkt
pi_58429556
quote:
Op donderdag 1 mei 2008 19:15 schreef SuperRembo het volgende:
Je kunt een functie maken waar je een willekeurig aantal parameters aan mee kunt geven; steeds afwisselend een var en een naam. Daarvoor gebruikt je func_get_arg().
Of gebruik func_get_args() icm met count (of func_num_args()).
pi_58430013
Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.

En een nieuwe functie erbij om bepaalde globals te definieren indien ze empty zijn, accepteerd alleen maar hashes (assoc arrays).

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
function is_empty() {
    
$args func_get_args();
    
$result = array();
    if (
count($args)) {
        foreach(
$args as $v) {
            if (
is_array($v)) {
                
$result array_merge($resultcall_user_func_array(__FUNCTION__$v));
            } else {
                if (empty(
$GLOBALS[$v])) { $result[] = $v; }
            }
        }
        return 
$result;
    }
    
trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
    return 
$result;
}

function 
is_empty_2defaults() {
    
$result = array();
    if (
func_num_args()) {
       
$args func_get_args();
       foreach(
$args as $v) {
           if (!
is_array($v)) { continue; }
           
$tmp is_empty(array_keys($v));
           foreach(
$tmp as $v2) { $GLOBALS[$v2] = $v[$v2]; }
           
$result array_merge($result$tmp);
       }
    } else {
        
trigger_error(sprintf("%s requires at least 1 parameter\n"__FUNCTION__), E_USER_NOTICE);
    }
    return 
$result;
}


$test "test"$leeg '0'$niks null$weer_niks$array = array();

print_r(is_empty("test"));
print_r(is_empty("test""leeg""niks""weer_niks""array"));

# Recursieve arrays
print_r(is_empty(array(array(0))));

# En als je met hashes gaat werken:
$hash = array("var1" => "leeg");
print_r(is_empty(array_values($hash)));
# Maar dit mag ook:
print_r(is_empty($hash));

$hash = array("glas" => "half vol");

$tmp is_empty(array_keys($hash));
foreach(
$tmp as $v) {
    
printf("%s is maar %s"$v$hash[$v]);
}

# Als je default waardes wilt hebben voor de lege velden... 
$hash_defaults = array("user" => "guest""password" => "guest");
is_empty_2defaults($hash_defaults);

printf("User: %-8s\tPassword: %s\n"$user$password);
?>


[ Bericht 6% gewijzigd door slakkie op 02-05-2008 17:29:45 ]
pi_58434274
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
pi_58434379
quote:
Op vrijdag 2 mei 2008 05:00 schreef slakkie het volgende:
Heb er maar een recursieve functie van gemaakt, accepteerd zowel arrays, als losse scalars. Persoonlijk zou ik er ook nog check bijgooien om te zien of $GLOBALS[$v] ook gelijk is aan 0 aangezien dat ook een boolean value kan zijn.
[ code verwijderd ]
1
2
3
<?php
trigger_error
(sprintf("%s requires at least 1 parameter\n"__FUNCTION__E_USER_NOTICE));
?>

Je geeft aan sprintf 1 string en 2 andere parameters mee, terwijl er in die string maar 1 placeholder is. Gevalletje haakjes verkeerd?
pi_58434452
quote:
Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
pi_58434844
Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
pi_58434858
quote:
Op vrijdag 2 mei 2008 13:05 schreef Light het volgende:

[..]

Waarom zou je dat überhaupt willen? Als je bij de beker het drank_id opslaat dan kun je altijd de drank_naam weer achterhalen.
Misschien met foreign keys?
pi_58435100
quote:
Op vrijdag 2 mei 2008 13:23 schreef boskameel het volgende:
Als ik bv gebruik maak van een database, en een tabel beker en drank heb. Of denk ik nu te moeilijk?
Dan maak je een JOIN over die twee tabellen, als je tenminste wilt weten welke drank er in een beker zit. Zo'n id is een makkelijk, vast punt. Ander voordeel is dat als je "bier" wilt vervangen door "Heineken" (om verwarring met "Grolsch" te voorkomen bijvoorbeeld) dan hoef je dat maar op 1 plek aan te passen.
pi_58435144
quote:
Op vrijdag 2 mei 2008 13:24 schreef Flaccid het volgende:

[..]

Misschien met foreign keys?
Ja, dan moet je dus die ID's laten staan en niet ineens ID's door namen gaan vervangen. Da's niet logisch. Dat het in PHP kan, komt alleen maar omdat het loosely typed is.
pi_58435233
Ah ik snap het . Maar ik zit nu al een paar uur te zoeken hoe je nou die 2 klassen kan laten samenwerken, in php code dan. Ik kan alleen maar dingen vinden over het werken met 1 klasse .
pi_58435636
Hallo, waarschijnlijk super simpel op te lossen, maar het lukt me niet;
Ik heb de volgende code:
1
2
  $test = "103050060070003002100004060008030010101010111000020305081011151601060912031615";
  echo $test;

De STRING $test bevat 76 cijfers. Echter als ik hem nu echo krijg ik zoiets te zien : "1.0305006007E+047". Hoe kan ik mijn string correct tonen? bvd
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
  vrijdag 2 mei 2008 @ 14:14:49 #197
12880 CraZaay
prettig gestoord
pi_58435695
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
pi_58435768
quote:
Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
ai ik zie het al, zit met de verkeerde var te spelen

thx!
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
  vrijdag 2 mei 2008 @ 14:24:56 #199
63192 ursel
"Het Is Hier Fantastisch!
pi_58435874
quote:
Op vrijdag 2 mei 2008 14:14 schreef CraZaay het volgende:
Die code toont bij mij gewoon je string. Als integer (zonder quotes dus) komt 'ie dichter bij jouw weergave in de buurt (1.0305006007E+77).
Hier ook..
pi_58435995
quote:
Op vrijdag 2 mei 2008 12:57 schreef boskameel het volgende:
Stel je voor: Ik heb een klasse die beker heet, en ik heb een klasse die drank heet.

In de klasse beker heb je de volgende vars:
beker_id
beker_inhoud
beker_materiaal
beker_drank

Daarnaast heb ik de klasse drank, met daarin de volgende vars
drank_id
drank_naam

Ik wil een nieuwe beker aanmaken, want ik heb dorst . In het veld beker_drank van de klasse beker komt een waarde, een getal. Dit getal moet overeenkomen met drank_id uit de klasse drank. Wanneer deze overeenkomt, moet de inhoud van drank_naam worden ingevuld in het veld beker_drank. Ik denk dat het wel mogelijk is, maar hoe doe ik dit dan?
Kan drank bestaan zonder beker?

Zo nee, dan kun je het beste de class drank initiëren in de class beker. Dus bij het vullen van de beker geef je een drank_id mee, vervolgens wordt er in de beker class een $beker_drank = new drank($drank_id) uitgevoerd. In de constructor van drank_id haal je vervolgens alle gegevens op die voor die drank van belang zijn. Indien nodig kun je dan aan de beker vragen welke drank er in zit. De beker vraagt dat vervolgens weer aan drank of geeft het hele drank-object terug.

Als drank wel kan bestaan zonder beker, bijvoorbeeld omdat het nog in de fles zit, dan kun je de beker vullen met het drank-object:
1
2
3
4
$drankje = new drank(0, "cola")
$flesje = new fles($drankje->get_contents())
$bekertje = new beker();
$bekertje->vul($flesje->get_contents());
Don't hurry, be crappy!
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')