Array values verwisselen mbv twee arrays met betreffende keys?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Xaboteur X

Xaboteur X

13/04/2012 19:49:19
Quote Anchor link
Hallo,

Aangezien mijn lange ééndimensionale array, dynamische waardes bevat, kan geen keys opzoeken met array_search.
Ik heb dit dan maar gedaan met array_keys(preg_grep()).
Zo krijg ik een array met de betreffende keys, die moeten verwisseld worden met de keys van een andere array die ik op dezelfde manier heb gemaakt.

Dus in principe moet ik twee soorten waardes telkens van plaats verwisselen.
En aangezien mijn hoofdarray alles achtereenvolgend bevat, wil ik dit dus doen met twee evenlange arrays die de keys bevatten.

Ik ben het mijzelf weer moeilijk aan het maken, heb ik de indruk, maar dit is wat ik heb tot dusver (wat dus niet werkt):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
$months = preg_grep('/<span class="post-month">.*?<\/span>/', $feed);
$months = array_keys($months);
$days = preg_grep('/<span class="post-day">.*?<\/span>/', $feed);
$days = array_keys($days);

for($i=0; $i<4; $i++) {                        // Feed haalt maar 4 posts op
    $month = $feed[$months[$i]];
    $day = $feed[$days[$i]];
    $month_key = array_search($month, $feed);
    $day_key = array_search($day, $feed);
    $feed[$month_key] = $day;
    $feed[$day_key] = $month;
}


Is er geen functie die de keys in een array verwisseld, met de betreffende keys uit twee andere, evenlange arrays?
 
PHP hulp

PHP hulp

28/03/2024 21:50:15
 
- SanThe -

- SanThe -

13/04/2012 20:08:30
Quote Anchor link
Geef het array() $feed eens.
 
Xaboteur X

Xaboteur X

13/04/2012 20:49:38
Quote Anchor link
Nog even zeggen, dat er niet telkens evenveel keys tussenzitten... (In dit geval wel)
Die array lijkt opgesteld te zijn inclusief newlines, en per tag dus een nieuwe key...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Array
(
    [0] =>

    [1] => <div class="post">

    [2] =>

    [3] => <div class="post-date">

    [4] => <span class="post-month">jan</span>

    [5] => <span class="post-day">01</span>

    [6] => </div>

    [7] => <div class="entry">

    [8] => <div class="post-title">Snooker</div>

    [9] => <p>&nbsp;Snooker</p>

    [10] => </div></div>

    [11] => <div class="post">

    [12] =>

    [13] => <div class="post-date">

    [14] => <span class="post-month">jan</span>

    [15] => <span class="post-day">01</span>

    [16] => </div>

    [17] => <div class="entry">

    [18] => <div class="post-title">Activiteit Maaskant</div>

    [19] => <p>&nbsp;Brouwerij bezoek Opitter</p>

    [20] => </div></div>

    [21] => <div class="post">

    [22] =>

    [23] => <div class="post-date">

    [24] => <span class="post-month">jan</span>

    [25] => <span class="post-day">27</span>

    [26] => </div>

    [27] => <div class="entry">

    [28] => <div class="post-title">Short-ski SCHL</div>

    [29] => <p>&nbsp;Short Ski</p>

    [30] => </div></div>

    [31] => <div class="post">

    [32] =>

    [33] => <div class="post-date">

    [34] => <span class="post-month">sep</span>

    [35] => <span class="post-day">14</span>

    [36] => </div>

    [37] => <div class="entry">

    [38] => <div class="post-title">Karting 2012</div>

    [39] => <p>Karting in Genk</p>

    [40] => </div></div>
)
Gewijzigd op 13/04/2012 20:50:06 door Xaboteur X
 



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.