/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Array used as boolean
Fra : Jimmy


Dato : 18-03-04 08:54

Hej

Jeg har følgende kode:


$Data = mysql_query ("SHOW TABLES");
while (list ($Table) = mysql_fetch_row ($Data))
{
}

Zend Development Environment siger følgende under analyse:

array() construct is used in boolean context even though it is meaningless
Catery: Bug

Men hvordan skal jeg så skrive ovenstående kode? (Som altså virker fint nok)

Mvh
JImmy



 
 
Nezar Nielsen (18-03-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 18-03-04 12:58

Jimmy wrote:
> $Data = mysql_query ("SHOW TABLES");
> while (list ($Table) = mysql_fetch_row ($Data))

Hvorfor ikke bare bruge mysql_fetch_array ?

while($Table = mysql_fetch_array($Data)){
....
}

> Zend Development Environment siger følgende under analyse:
>
> array() construct is used in boolean context even though it is meaningless
> Catery: Bug

Sikkert fordi list() ikke returnerer noget.

--
Mvh. Nezar Nielsen
http://fez.dk/

(n)osse hovede på sigt.

Jimmy (18-03-2004)
Kommentar
Fra : Jimmy


Dato : 18-03-04 15:14


"Nezar Nielsen" <tumpen@fez.dk> wrote in message
news:c3c2nb$259khu$1@ID-179598.news.uni-berlin.de...
> Jimmy wrote:
> > $Data = mysql_query ("SHOW TABLES");
> > while (list ($Table) = mysql_fetch_row ($Data))
>
> Hvorfor ikke bare bruge mysql_fetch_array ?

Jeg kan godt lide eksplicit at få populeret variablerne.
Spørgsmålet var nu også af teoretisk karakter.


> > array() construct is used in boolean context even though it is
meaningless
> > Catery: Bug
>
> Sikkert fordi list() ikke returnerer noget.

Ikke helt forstået - list() returnerer ikke noget, men den populerer da
variablerne i dens parameterliste?

Mvh
Jimmy



Jakob Braad (18-03-2004)
Kommentar
Fra : Jakob Braad


Dato : 18-03-04 15:34

> Ikke helt forstået - list() returnerer ikke noget, men den populerer da
> variablerne i dens parameterliste?
>

Ja, men while skal jo bruge en boolean værdi og den returnerer list IKKE.


Jimmy (18-03-2004)
Kommentar
Fra : Jimmy


Dato : 18-03-04 21:39


"Jakob Braad" <jakob@jbraad.dk> wrote in message
news:c3cc0h$1t0p$1@news.cybercity.dk...
> > Ikke helt forstået - list() returnerer ikke noget, men den populerer da
> > variablerne i dens parameterliste?
> >
>
> Ja, men while skal jo bruge en boolean værdi og den returnerer list IKKE.

Der røg den ind - den er void. Tak.

Mvh
Jimmy



Nezar Nielsen (18-03-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 18-03-04 17:09

Jimmy wrote:
>
> Jeg kan godt lide eksplicit at få populeret variablerne.

adrk - men dig om det ;)


>>Sikkert fordi list() ikke returnerer noget.
>
>
> Ikke helt forstået - list() returnerer ikke noget, men den populerer da
> variablerne i dens parameterliste?

tjah, og det virker jo også, siger du, så problemet er vel at ZDE *tror*
at det er list()'s resultat der bliver checket for true/false af while,
selvom det er tildelingen - hvilket returnerer true.

--
Mvh. Nezar Nielsen
http://fez.dk

Jimmy (18-03-2004)
Kommentar
Fra : Jimmy


Dato : 18-03-04 21:42


"Nezar Nielsen" <tumpen@fez.dk> wrote in message
news:c3chdq$261os2$1@ID-179598.news.uni-berlin.de...
> Jimmy wrote:

> >>Sikkert fordi list() ikke returnerer noget.
> >
> >
> > Ikke helt forstået - list() returnerer ikke noget, men den populerer da
> > variablerne i dens parameterliste?
>
> tjah, og det virker jo også, siger du, så problemet er vel at ZDE *tror*
> at det er list()'s resultat der bliver checket for true/false af while,
> selvom det er tildelingen - hvilket returnerer true.

Her er et eksempel fra php.net's beskrivelse af list()

Example 2. An example use of list()

$result = mysql_query("SELECT id, name, salary FROM employees",
$conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
echo " <tr>\n" .



Helt i skoven kan det så ikke være.

Men i virkeligheden er det enten fordi php er meget lidt restriktivt og
tager alt som ikke er 0 eller False som en True værdi, at det virker eller
som du beskriver ovenfor.

Om ikke andet lærte jeg også noget i dag, så det var super.

Tak for hjælpen,
Jimmy






Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste