array aanmaken met ingegeven waardes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sietsko Bos

Sietsko Bos

20/11/2017 08:45:25
Quote Anchor link
Hoi,

ik heb 2 arrays met de volgende waardes:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$array_deel1
= array ("1", "2", "3", "4", "5", "6");
$array_deel2 = array ("1", "2", "3", "4", "5", "6");
?>


Wat ik nu eigenlijk wil dat een script alle mogelijk die er zijn in een array plaatst.

Dus bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    shuffle ($array_deel1);
    shuffle ($array_deel2);

        $uitkomst = $array_deel1[0].'-'.$array_deel2[0];

    unset ($array_deel1[0]);
    unset ($array_deel2[0]);
?>


Als uitkomst zou ik dan graag zoiets willen maar dan met alle mogelijkheden die er zijn:

Array
(
[0] => 1-1-2-2-3-5-5-4-6-6-3-4
[1] => 1-4-4-6-3-2-5-5-2-1-6-3
[2] => 2-5-3-3-4-4-1-2-6-6-5-1
)

Sietsko
Gewijzigd op 20/11/2017 09:21:31 door Sietsko Bos
 
PHP hulp

PHP hulp

08/11/2024 10:35:12
 
Ward van der Put
Moderator

Ward van der Put

20/11/2017 10:16:45
Quote Anchor link
Je kunt de arrays samenvoegen met array_merge(), maar als je alle mogelijke combinaties wilt vinden, zul je iets gerichters moeten doen dan een willekeurige shuffle(): een dubbele foreach bijvoorbeeld.
 
Rob Doemaarwat

Rob Doemaarwat

20/11/2017 13:01:26
Quote Anchor link
Gaat het hier om twee dobbelstenen (1 t/m 6 ogen), en wil je alle mogelijkheden die er zijn bij het gooien van twee dobbelstenen (6x6 = 36)?

Uit je voorbeeld lees ik meer iets van:
- kies uit beide setjes een willekeurige waarde
- streep deze waarden weg uit de mogelijkheden (unset)
- en "gooi" dan opnieuw

Zo lees ik althans je rijtjes (of het is wel heel toevallig dat in elke rijtje elk cijfers precies 2x voorkomt). Maar met echte dobbelstenen kun je nadat je 1-1 gegooid hebt natuurlijk prima nog een keer 1-1 gooien (de kans is niet zo groot - 1/36 om precies te zijn - maar het kan wel).
 
Sietsko Bos

Sietsko Bos

20/11/2017 14:05:15
Quote Anchor link
Rob Doemaarwat op 20/11/2017 13:01:26:
Gaat het hier om twee dobbelstenen (1 t/m 6 ogen), en wil je alle mogelijkheden die er zijn bij het gooien van twee dobbelstenen (6x6 = 36)?

Uit je voorbeeld lees ik meer iets van:
- kies uit beide setjes een willekeurige waarde
- streep deze waarden weg uit de mogelijkheden (unset)
- en "gooi" dan opnieuw

Zo lees ik althans je rijtjes (of het is wel heel toevallig dat in elke rijtje elk cijfers precies 2x voorkomt). Maar met echte dobbelstenen kun je nadat je 1-1 gegooid hebt natuurlijk prima nog een keer 1-1 gooien (de kans is niet zo groot - 1/36 om precies te zijn - maar het kan wel).


Je hebt het ook bijna goed alleen is het niet met dobbelstenen. Het gaat erom dat elke gemaakte rij met getallen uniek is. Dit wil ik weer gebruiken om gedeeltes van woorden op de plaats van de cijfers van de klok. Zodoende kan je dan met de tijd een woord maken. In mijn voorbeeld deed ik het met zes cijfers maar het moet natuurlijk worden met de cijfers van 1 t/m 12.
Gewijzigd op 20/11/2017 14:06:23 door Sietsko Bos
 
Rob Doemaarwat

Rob Doemaarwat

20/11/2017 20:04:45
Quote Anchor link
... en 2 stuks = uren + minuten wijzer?

En wat verwacht je dan: rijtjes van 24 cijfers waarbij elk cijfer (1 t/m 12) steeds precies 2x voorkomt?

Toevoeging op 20/11/2017 22:49:39:

Hm, volgens mij heb je dan 24! (faculteit) mogelijkheden, en dat zijn er dus 6,2*10^23 (grofweg een 6 met 23 nullen). Wat ga je daar mee doen? Waar ga je die opslaan (daar heb je een yottabyte harde schijf voor nodig)?
 
Sietsko Bos

Sietsko Bos

21/11/2017 09:15:24
Quote Anchor link
Ik zal proberen om beter te omschrijven wat ik probeer te bereiken.

Je hebt een klok met de cijfers 1 t/m 12. De cijfers wil ik vervangen door een deel van een woord, bijvoorbeeld: trap = cijfer 2 wordt dan tr en cijfer 6 wordt ap. De gevraagde tijd kan dan zijn: half 2 of 10 over 6. Ik wil dan alle cijfers vervangen door 2 letters die bij elkaar horen aan de hand van de gevraagde tijd. Het gaat dus alleen om de hele uren die vervangen worden (ik dacht 12 x 12 = 144 mogelijkheden).

Misschien is het zo wat duidelijker wat de bedoeling is.
 
Thomas van den Heuvel

Thomas van den Heuvel

21/11/2017 10:50:27
Quote Anchor link
Sidenote: cijfers zijn getaltekens. Een getal kan opgebouwd zijn uit één of meer cijfers. 12 is dus geen cijfer maar een getal. Tenzij je wellicht hexadecimaal rekent, dan zou het cijfer A kunnen staan voor het getal 10.
 
Rob Doemaarwat

Rob Doemaarwat

21/11/2017 11:16:58
Quote Anchor link
@Sietsko: Als 2-6 hetzelfde is als 6-2 heb je 78 mogelijkheden (de onderste helft van de matrix valt als het ware weg). Je doet dus de dubbele foreach van Ward, met je rijtje van 12 woorden, maar degene waarbij het 2e getal < 1e getal sla je over.
 
Sietsko Bos

Sietsko Bos

22/11/2017 18:23:31
Quote Anchor link
Ah dank je voor de uitleg. Ik ga dit eens proberen en zien hoever ik kom. Dank je nogmaals voor het meedenken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.