[PHP] MIN/MAX met ID

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb onderstaande.

ID = 1

IDS = 4|2|1|5|
Min(imaal) = 5|3|5|2|
Max(imaal) = 10|6|7|5|

Nu wil ik dat hij de ID selecteert uit de IDS en een rand doet met de MIN en MAX van die ID.

Dus in dit geval.

rand(5,7)

Want ID 1 staat op de 3e plek van die rij, dus wil ik de 3e plek van de MIN en MAX rij hebben.

Hoe zet ik dit in een functie/scriptje? :*)

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Nou, je zet alles in een array met explode en dan met een (random * max) - min.

Ofzo.

Of wat heb je zelf geprobeerd, en wat lukte niet?

[ Voor 3% gewijzigd door CodeCaster op 21-10-2006 22:28 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
if (($pos = array_search($id, $ids)) !== false) {
    $x = rand($min[$pos], $max[$pos]);
}


Je TS voldoet voor geen meter. Er staat niet voor niets een FAQ/regeltopic bovenaan elk subforum.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Warning: array_search() [function.array-search]: Wrong datatype for second argument in
code:
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
<?PHP

function minMAX($arrayIDS,$theID,$MINlevel,$MAXlevel)   {

$arrayIDS = str_replace('(','',$arrayIDS);
$arrayIDS = str_replace(')','',$arrayIDS);

$MINlevel = str_replace('(','',$MINlevel);
$MINlevel = str_replace(')','',$MINlevel);

$MAXlevel = str_replace('(','',$MAXlevel);
$MAXlevel = str_replace(')','',$MAXlevel);

$arrayIDS = explode('|',$arrayIDS);
array_pop($arrayIDS);

$MIN = explode('|',$MINlevel);
array_pop($MIN);

$MAX = explode('|',$MAXlevel); 
array_pop($MAX);

if (($pos = array_search($theID, $arrayIDS)) !== false) {
    $randlevel = rand($MIN[$pos], $MAX[$pos]);
} 

return $randlevel;

        }

$level = minMAX($array_ids,$selectid,$mins,$maxs);
?>


code:
1
2
3
4
$array_ids = '(3)|(2)|(1)|(10)|';
$selectid = '2';
$mins = '(5)|(3)|(4)|(15)|';
$maxs = '(8)|(7)|(10)|(19)|';

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Mischien moet je eens nadenken over de manier waarop je die data opslaat...

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Laat maar, is al gefixed. Bedankt allemaal :>

[ Voor 113% gewijzigd door Verwijderd op 21-10-2006 22:52 ]


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Verwijderd schreef op zaterdag 21 oktober 2006 @ 22:49:
Laat maar, is al gefixed. Bedankt allemaal :>
Handig ook dat je de oplossing hier meteen neerzet, voor degenen die hetzelfde probleem hebben.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?

Pagina: 1