[PHP] if zoekfuntie en vergelijking in Array

Pagina: 1
Acties:

Onderwerpen


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 21:36

Erhnam

het Hardware-Hondje :]

Topicstarter
Ik vind dit een beetje lastig zo uit te leggen, vandaar dat ik mijn voorbeeld erbij pak. Ik probeer een programma te schrijven voor XBMC waarmee ik songs uit een collectie kan afspelen. De songs haal ik op en komen in een Array terug. De lijst met songs wil ik vervolgens bewerken.

De songs staan gesorteerd op label. De gebruiker krijgt vervolgens een mogelijk om een song te selecteren uit de lijst. De songs die nog in het album blijven staan (achterin de Array) moeten vervolgens opgeslagen worden. Probleem is dat ik wel de songid's nodig heb en deze ook in de volgorde van de labels zal moeten door sturen.

De onderstaande Array zal als gevolg van de weergave functie als volgt gesorteerd worden:

Best For Last (songid = 2)
Chasing Pavements (songid = 3)
Cold Shoulder (songid = 4)
Daydreams (songid = 1)


Stel dat de gebruiker nu Chasing Pavements selecteerd dan moeten 3, 4 en 1 achter elkaar terugkomen. Het liefste in een Array formaat weer terug.

Iemand enig idee waar ik zou moeten beginnen?

ps: De songid hoeven niet altijd op elkaar aan te sluiten. In dit voorbeeld zouden de songs ook id's 5, 43, 123 en 6654 kunnen hebben.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Array
(
    [end] => 4
    [songs] => Array
        (
            [0] => Array
                (
                    [fanart] => special://masterprofile/Thumbnails/Music/Fanart/12d07e97.tbn
                    [file] => /home/xbmc/Music/Adele - 19/101-adele-daydreams.mp3
                    [label] => Daydreams
                    [songid] => 1
                    [thumbnail] => special://masterprofile/Thumbnails/Music/0/05858c20.tbn
                )

            [1] => Array
                (
                    [fanart] => special://masterprofile/Thumbnails/Music/Fanart/12d07e97.tbn
                    [file] => /home/xbmc/Music/Adele - 19/102-adele-best_for_last.mp3
                    [label] => Best For Last
                    [songid] => 2
                    [thumbnail] => special://masterprofile/Thumbnails/Music/0/05858c20.tbn
                )

            [2] => Array
                (
                    [fanart] => special://masterprofile/Thumbnails/Music/Fanart/12d07e97.tbn
                    [file] => /home/xbmc/Music/Adele - 19/103-adele-chasing_pavements.mp3
                    [label] => Chasing Pavements
                    [songid] => 3
                    [thumbnail] => special://masterprofile/Thumbnails/Music/0/05858c20.tbn
                )

            [3] => Array
                (
                    [fanart] => special://masterprofile/Thumbnails/Music/Fanart/12d07e97.tbn
                    [file] => /home/xbmc/Music/Adele - 19/104-adele-cold_shoulder.mp3
                    [label] => Cold Shoulder
                    [songid] => 4
                    [thumbnail] => special://masterprofile/Thumbnails/Music/0/05858c20.tbn
                )

        )

    [start] => 0
    [total] => 4
)

[ Voor 3% gewijzigd door Erhnam op 30-09-2010 19:45 ]

http://www.xbmcfreak.nl/


  • Twan V
  • Registratie: Oktober 2001
  • Laatst online: 16-09 15:39

Twan V

...en er stralend uitzien

Waarom gebruik je de array-key niet als song-id?

Blaat het niet dan schaadt het niet...
Reflex Discoshow - Het beste wat je bruiloft kan overkomen


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 21:36

Erhnam

het Hardware-Hondje :]

Topicstarter
Twan V schreef op donderdag 30 september 2010 @ 19:47:
Waarom gebruik je de array-key niet als song-id?
Je bedoelt dat ik ze eerst op naam sorteer en vervolgens afvang welke array key geselecteerd is en daarmee verder ga? Hoe bepaal ik welke array key een bepaald songid is?

[ Voor 8% gewijzigd door Erhnam op 30-09-2010 19:57 ]

http://www.xbmcfreak.nl/


  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Euh. Dit is toch gewoon een kwestie van in een for loop zoeken tot je de juiste label gevonden hebt, en dan alles wat daarna nog in je collection zit in een andere array proppen en deze 'opslaan' (wat je daar dan ook mee bedoelt).

https://niels.nu


  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024

CRiMiNaL

Witlof ^^

Als ik je goed begrijp wil je met array_splice het element uit de array halen en daarna het overgebleven resultaat weer weergeven?
Een stukje example code:
PHP:
1
$gekozen_element = array_splice($song_array['songs'], $positie_gekozen_element, 1);

Hierna zal $song_array de overgebleden songs bevatten, in dezelfde volgorde.

... MMORPG Addict.


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 21:36

Erhnam

het Hardware-Hondje :]

Topicstarter
CRiMiNaL schreef op donderdag 30 september 2010 @ 20:01:
Als ik je goed begrijp wil je met array_splice het element uit de array halen en daarna het overgebleven resultaat weer weergeven?
Een stukje example code:
PHP:
1
$gekozen_element = array_splice($song_array['songs'], $positie_gekozen_element, 1);

Hierna zal $song_array de overgebleden songs bevatten, in dezelfde volgorde.
Thanks, dit is inderdaad wat ik bedoelde. Hier kom ik wellicht wel mee uit de voeten!

http://www.xbmcfreak.nl/


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Hou je wel even in de gaten dat je niet voor elke wissewasje een nieuw topic opent zodat wij straks je hele XBMC project hebben gemaakt voor/met je? Het is misschien verstandig om eens even wat tutorials er op na te slaan en je te verdiepen in de materie alvorens je aan de slag gaat. Dit is redelijk basic programmeerwerk en iets dat je met een klein beetje kennis en/of ervaring prima zelf kunt oplossen/bedenken.

[ Voor 15% gewijzigd door RobIII op 30-09-2010 20:09 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1