Versio

Onbekende waarde

Overzicht Reageren

Barman V

Barman V

28/02/2006 11:51:00
Quote Anchor link
Hej allen,

Ik heb een code van iemand anders aangepast, maar die maakt er een zootje van.

Situatie
De keywaarde van een array begint altijd met een 'v'. Hierna komt er een willekeurig getal te staan. Maar het enige gegeven dat vast staat is die 'v'.

In SQL kan je dat oplossen met LIKE 'v%'
Maar hoe doe ik dit in php.

Een voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($ingevuld['v<willekeurig getal>'] == $answers[$a]){
}

?>


Dus ipv <willekeurig getal> moet er een getal komen te staan. Heeft PHP daar een handige functie voor?

Alvast bedankt
Gewijzigd op 28/02/2006 11:53:00 door Barman V
 
PHP hulp

PHP hulp

25/05/2012 12:33:44
Gesponsorde koppelingen:
 
PHP erik

PHP erik

28/02/2006 11:53:00
Quote Anchor link
$getal = rand();
$ingevuld['v'.$getal] ?

De vergelijking met LIKE 'v%' klopt niet helemaal, want die selecteert alles beginnend met 'v'.
Gewijzigd op 28/02/2006 11:54:00 door PHP erik
 
Barman V

Barman V

28/02/2006 12:03:00
Quote Anchor link
Bedankt voor de reactie.

Oeps mijn fout. Het moet geen willekeurig getal zijn.

De vergelijking met SQL klopt wel. Ik zal het een onbekend getal noemen. Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($ingevuld['v<onbekend getal>'] == $answers[$a]){
}

?>


Als dit SQL was geweest moest het zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ($ingevuld['v%'] == $answers[$a]){
}

?>


Jouw rand(); geeft een getal. Maar ik wil juist alle getallen.
 
PHP erik

PHP erik

28/02/2006 12:08:00
Quote Anchor link
Het idee is dus dat één van de waarden waarvan de key met een v begint gelijk is aan $answer[$a]? Of alle waarden? Of is het maximaal één waarde? Wat wil je precies?
 
Barman V

Barman V

28/02/2006 12:43:00
Quote Anchor link
Ik begrijp je twijfel. Het is beetje moeilijk uit te leggen.

Het is dat één van de waarden waarvan de key met een v begint gelijk is aan $answer[$a].
 
Willem vp

Willem vp

28/02/2006 12:53:00
Quote Anchor link
Als de key niet belangrijk is, kun je zeggen:

if (in_array($answer[$a], $ingevuld))

en anders kun je de key zoeken met

if ($key = array_search($answer[$a], $ingevuld))
 
Pieter van Linschoten

Pieter van Linschoten

28/02/2006 13:26:00
Quote Anchor link
Pesoonlijk dacht ik hier aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
foreach($array as $key => $waarde){
if(substr($key,0,1) == 'v'){
echo"dit is em :p -->".$waarde;
}
}

?>
Gewijzigd op 28/02/2006 13:27:00 door Pieter van Linschoten
 
Willem vp

Willem vp

28/02/2006 13:39:00
Quote Anchor link
@Lapidi:

Dan geef je dus een overzicht van alle keys met hun waardes, want elke key begint met een 'v'.

Wat je -voor zover ik de opdracht begrijp- zou moeten doen is de $waarde vergelijken met $answer[$a], en als die twee overeenkomen kijken wat de waarde is van $key. Maar dat kan veel gemakkelijker en sneller met array_search ;-)
 
Barman V

Barman V

28/02/2006 14:02:00
Quote Anchor link
Bedankt voor de moeite :)
In de eerste instantie dacht ik ook om het met in_array en array_search te doen, maar het leek mij iets omslagtigs. Ik dacht dat wat SQL heeft (%), dat PHP ook zoiets had. Dat had dan een hoop rompslomp gescheeld.

Maar het is gelukt :)
 
Pieter van Linschoten

Pieter van Linschoten

28/02/2006 14:34:00
Quote Anchor link
Ik begreep die opdracht blijkbaar niet... Fout gelezen :p

Maar nu begrijp ik het nog steeds niet helemaal.
Laat aub eens zien wat je als uitkomst heb...
Misschien snap ik het dan wel :)

Ben hier om iets te leren ;)
 



Overzicht Reageren

Get Adobe Flash player