🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #8098

Re: [php] Vraagjes over variabelen

#8098
From: Philip Paeps
Date: Wed, 10 Jul 2002 13:03
67 lines
3493 bytes
Pieter Huygens <lookinreplyto@phuygens.be> wrote:

[...]

> 1) Als ik een variabele een waarde geef, dan wordt er automatische
> uitgemaakt of deze variabele een Integer, double, string, ... is?  Klopt
> mijn redenering? Of geeft PHP dan die variabele automatische een soort van
> 'unknow' ofzoiets?

PHP gaat automagisch typen.  Net als Perl, en in tegenstelling tot C is PHP
geen 'strongly typed' taal,

Wanneer je een waarde aan een variable geeft, zal de parser, op basis van
wat zeer interessante logica (read the manual, read the source), bepalen of
het een int, double, char, whatever moet zijn.

> 2) Ik kan een variabele door middel van de functie settype 'converteren'
> naar een speciaal type variabele. Nu vroeg ik me af waarvoor zoiets nuttig
> is? Kan er mij iemand een toepassing geven waarvan zoiets nuttig is?

Denk wiskunde.  Integer division, dat soort spul.  Als je bijvoorbeeld 8.2
door 2 wilt gaan delen, zul je een 'truncated' value krijgen, tenzij je de 2
als double gaat beschouwen tijdens de deling.

> 3) Door de 'IS' functie (bijvoorbeeld is_double($variabelenaam); ) kan je
> detecteren of een variabele bijvoorbeeld een double is (de return waarde is
> dan hier 1 of 0 uiteraard... Ja of nee eigenlijk.) Maar waarvoor is zoiets
> interessant? 

Weer zoals hierboven, kan je beslissen of je aldaniet moet gaan casten bij
wiskundige operaties.  Er zijn andere nutten, maar ze schieten me niet te
binnen.

> Kan je mij een concreet voorbeeld geven? Of is dit eigenlijk om
> later een if then else te kunnen schrijven die een variabele converteert als
> ze bijvoorbeeld geen double is. Zoiets als (ja sorry ik kan nog geen PHP if
> then elses schrijven dus ik gebruik even mijn vb kennis...)

[...]

Precies, ja:

 | if (is_double($var))
 | {
 |    $newvar = $other_var / $var;
 | }
 | else
 | {
 |    $newvar = $other_var / (double) $var;
 | }

> Klopt het ongeveer wat wat ik allemaal uitleg? Kan je mij eventueel
> verbeteren? En kan je mij wat concreetje voorbeeldjes geven waarvoor
> nummerke 2&3 gebruikt zouden kunnen worden?

Echt 'concrete' voorbeeldjes kan ik niet verzinnen.  Maar in de PHP manual
staan regelmatig goeie, en interessante, voorbeeldjes.

Veel plezier.

 - Philip

-- 
Philip Paeps                                                   philip@paeps.cx

  The first bug to hit a clean windshield lands directly
  in front of your eyes.
Technical Details
Message-ID: <LgWW8.1534$QS3.362@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!news.infoave.net!isdnet!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <298oiusaharbp8t3c790rdjjsptoqmld8q@4ax.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,7012b8384dd2d599
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-07-10 07:42:08 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!news.infoave.net!isdnet!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
Sender: Philip Paeps <philip@juno.home.paeps.cx>
From: Philip Paeps <philip@paeps.cx>
Subject: Re: [php] Vraagjes over variabelen
Newsgroups: be.comp.programming
References: <298oiusaharbp8t3c790rdjjsptoqmld8q@4ax.com>
User-Agent: tin/1.5.13-20020703 ("Chop Suey!") (UNIX) (FreeBSD/4.6-STABLE (i386))
Lines: 67
Message-ID: <LgWW8.1534$QS3.362@afrodite.telenet-ops.be>
Date: Wed, 10 Jul 2002 13:03:39 GMT
NNTP-Posting-Host: 213.118.35.42
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1026306219 213.118.35.42 (Wed, 10 Jul 2002 15:03:39 MET DST)
NNTP-Posting-Date: Wed, 10 Jul 2002 15:03:39 MET DST
Organization: Telenet Internet