[PHP] Array?

Gestart doorMiel11 reacties25 weergaven

12 berichten · pagina 1 van 1

Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb de volgende array.

[0] => 1. Inbox Message (Read) 
[1] => Date/time: 19/09/2009 20:47:08 +0200 
[2] => Sender: +3161503**** Msg Center: +31626000230 
[3] => Text: 
[4] => Luk 
[5] => 2. Inbox Message (Read) 
[6] => Date/time: 20/09/2009 11:17:50 +0200 
[7] => Sender: +3168143**** Msg Center: +31624000000 
[8] => Text:
[9] => "Test" 
[10] => 3. Delivery Report (Read) 
[11] => Sending date/time: 20/09/2009 11:17:52 
[12] => Response date/time: 20/09/2009 11:17:52 
[13] => Receiver: +3168143**** Msg Center: +31624000000 
[14] => Text: [15] => Delivered 
[16] => 4. Delivery Report (Read) 
[17] => Sending date/time: 20/09/2009 11:23:31 
[18] => Response date/time: 20/09/2009 11:23:31 
[19] => Receiver: +3162325**** Msg Center: +31624000000 
[20] => Text:
[21] => Delivered 
[22] => 5. Delivery Report (Read) 
[23] => Sending date/time: 20/09/2009 11:30:30 
[24] => Response date/time: 20/09/2009 11:30:30 
[25] => Receiver: +3168143**** Msg Center: +31624000000 
[26] => Text: 
[27] => Delivered 
[28] => 6. Inbox Message (Read) 
[29] => Date/time: 20/09/2009 11:30:29 +0200 
[30] => Sender: +3168143**** Msg Center: +31624000000 
[31] => Text: 
[32] => A


Nu zijn het waardes die bij elkaar horen.

[0] => 1. Inbox Message (Read) 
[1] => Date/time: 19/09/2009 20:47:08 +0200 
[2] => Sender: +3161503**** Msg Center: +31626000230 
[3] => Text: 
[4] => Luk


Hoort bijvoorbeeld bij elkaar.
Maar ook dit:

[22] => 5. Delivery Report (Read) 
[23] => Sending date/time: 20/09/2009 11:30:30 
[24] => Response date/time: 20/09/2009 11:30:30 
[25] => Receiver: +3168143**** Msg Center: +31624000000 
[26] => Text: 
[27] => Delivered


Oftewel; Sommige berichten hebben 6 keys, en sommige maar 5.
Nu wil ik de berichten bij elkaar in 1 array krijgen, dus als volgt:

array(
[0] => array(
    [0] => 1. Inbox Message (Read) 
    [1] => Date/time: 19/09/2009 20:47:08 +0200 
    [2] => Sender: +3161503**** Msg Center: +31626000230 
    [3] => Text: 
    [4] => Luk
)

[1] => array(
    [0] => 2. Inbox Message (Read) 
    [1] => Date/time: 20/09/2009 11:17:50 +0200 
    [2] => Sender: +3168143**** Msg Center: +31624000000 
    [3] => Text:
    [4] => "Test" 
)

[2] => array(
    [0] => 3. Delivery Report (Read) 
    [1] => Sending date/time: 20/09/2009 11:17:52 
    [2] => Response date/time: 20/09/2009 11:17:52 
    [3] => Receiver: +3168143**** Msg Center: +31624000000 
    [4] => Text:
    [5] => Delivered 
)

[3] => array(
    [0] => 4. Delivery Report (Read) 
    [1] => Sending date/time: 20/09/2009 11:23:31 
    [2] => Response date/time: 20/09/2009 11:23:31 
    [3] => Receiver: +3162325**** Msg Center: +31624000000 
    [4] => Text:
    [5] => Delivered 
)

[4] => array(
    [0] => 5. Delivery Report (Read) 
    [1] => Sending date/time: 20/09/2009 11:30:30 
    [2] => Response date/time: 20/09/2009 11:30:30 
    [3] => Receiver: +3168143**** Msg Center: +31624000000 
    [4] => Text: 
    [5] => Delivered 
)

[5] => array(
    [0] => 6. Inbox Message (Read) 
    [1] => Date/time: 20/09/2009 11:30:29 +0200 
    [2] => Sender: +3168143**** Msg Center: +31624000000 
    [3] => Text: 
    [4] => A
)
)


Hoe kan ik dit het best doen?
Alvast bedankt!

Met vriendelijke groet,
Miel
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Je moet eerst weten waarom sommige bij elkaar horen, dus een duidelijke definitie van een groep hebben zegmaar.
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hmm.. Ja ik heb een key.
exec(gnokii --getsms SM 1 25, $data, $return_code);
$return_code Dus, lijkt me..
Edit: Heb het makkelijker gemaakt.. Die van 6 keys zitten er nu niet meer bij, dus een simpel loopje gaat me helpen.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Kun je de output die je in je startpost hebt geplempt door serialize() heen halen en de uitkomst daarvan hier posten?
Dan kan ik dr wat mee kutten, heb weinig zin om die hele array over te typen. biggrin
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
O, als je het loopje voor me wilt maken, graag. Dan ga ik even wat cola drinken, want die sms gateway server staat op me bebouwde zolder.
Edit: Zo:

s:1143:"[0] => 1. Inbox Message (Read) [1] => Date/time: 19/09/2009 20:47:08 +0200 [2] => Sender: +3161503**** Msg Center: +31626000230 [3] => Text: [4] => Luk [5] => 2. Inbox Message (Read) [6] => Date/time: 20/09/2009 11:17:50 +0200 [7] => Sender: +3168143**** Msg Center: +31624000000 [8] => Text: [9] => "Test" [10] => 3. Delivery Report (Read) [11] => Sending date/time: 20/09/2009 11:17:52 [12] => Response date/time: 20/09/2009 11:17:52 [13] => Receiver: +3168143**** Msg Center: +31624000000 [14] => Text: [15] => Delivered [16] => 4. Delivery Report (Read) [17] => Sending date/time: 20/09/2009 11:23:31 [18] => Response date/time: 20/09/2009 11:23:31 [19] => Receiver: +3162325**** Msg Center: +31624000000 [20] => Text: [21] => Delivered [22] => 5. Delivery Report (Read) [23] => Sending date/time: 20/09/2009 11:30:30 [24] => Response date/time: 20/09/2009 11:30:30 [25] => Receiver: +3168143**** Msg Center: +31624000000 [26] => Text: [27] => Delivered [28] => 6. Inbox Message (Read) [29] => Date/time: 20/09/2009 11:30:29 +0200 [30] => Sender: +3168143**** Msg Center: +31624000000 [31] => Text: [32] => A";
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ik denk dat je 5 / 6 kunt bekijken door te splitten op een cijfer. Waneer er een cijfer komt begint toch een nieuwe sms:

Quote:
[0] => 1. Inbox Message (Read)
[1] => Date/time: 19/09/2009 20:47:08 +0200
[2] => Sender: +3161503**** Msg Center: +31626000230
[3] => Text:
[4] => Luk
[5] => 2. Inbox Message (Read)
[6] => Date/time: 20/09/2009 111750 +0200
[7] => Sender: +3168143**** Msg Center: +31624000000
[8] => Text:
[9] => "Test"
[10] => 3. Delivery Report (Read)
[11] => Sending date/time: 20/09/2009 111752
[12] => Response date/time: 20/09/2009 111752
[13] => Receiver: +3168143**** Msg Center: +31624000000
[14] => Text: [15] => Delivered
[16] => 4. Delivery Report (Read)
[17] => Sending date/time: 20/09/2009 11:23:31
[18] => Response date/time: 20/09/2009 11:23:31
[19] => Receiver: +3162325**** Msg Center: +31624000000
[20] => Text:
[21] => Delivered
[22] => 5. Delivery Report (Read)
[23] => Sending date/time: 20/09/2009 11:30:30
[24] => Response date/time: 20/09/2009 11:30:30
[25] => Receiver: +3168143**** Msg Center: +31624000000
[26] => Text:
[27] => Delivered
[28] => 6. Inbox Message (Read)
[29] => Date/time: 20/09/2009 11:30:29 +0200
[30] => Sender: +3168143**** Msg Center: +31624000000
[31] => Text:
[32] => A

Hoe je dat precies doet heb ik nu ff geen idee.
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ja klopt, was handig geweest, maar heb nu die reports uitgezet.emoNu zoek ik iemand die een loopje voor me maakt, die steeds 5 keys in 1 nieuwe key van een array zet. Een 3d array dus.yummie
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Help!! Ik heb Sender: +3161503**** Msg Center: +31626000230 maar ik moet alleen +3161503**** hebben, wie kan me helpen, wie is er goed in eregs enzo?
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Ik denk dat je 5 / 6 kunt bekijken door te splitten op een cijfer. Waneer er een cijfer komt begint toch een nieuwe sms
Ja daar zat ik ook aan te denken, maar dan ga je fout zodra er een bericht komt dat met een cijfer begint.

@ Anubisfan: Na elke 5 elementen is wel makkelijker:

[COLOR= #0000BB]<?php
$array_t[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/range"]range[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]a[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]z[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #FF8000]// demo-array[/COLOR]

[COLOR= #0000BB]$array[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]

[COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$j[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$array_t[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700])
{[/COLOR]
    
    [COLOR= #0000BB]$array[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700](++[/COLOR][COLOR= #0000BB]$j[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #0000BB]5[/COLOR][COLOR= #007700])
    {[/COLOR]
        
        [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++;[/COLOR]
        [COLOR= #0000BB]$j[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];
        
    }
    
}[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]FORUMCODE0[/COLOR][COLOR= #007700];[/COLOR]


@ je 2e post: Exploden op (spatie) en 1e element pakken?
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedankt voor je werk, alleen was het al gelukt dankzij Rik met de functie array_chunk.
Verder nog bedankt voor de tip..)
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Oh das handiger idd. emo
0
Miel

Lid · Topicstarter

Berichten
4.462
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dit is het uit eindelijk geworden.

<?xml version="1.0" encoding="utf-8"?>
    <bericht>
        <auteur>+3161503****</auteur>
        <datum>1253386028</datum>
        <bericht>Luk</bericht>
    </bericht>

    <bericht>

        <auteur>+3168143****</auteur>
        <datum>1253438270</datum>
        <bericht>"Test"</bericht>
    </bericht>

    <bericht>
        <auteur>+3168143****</auteur>
        <datum>1253439029</datum>
        <bericht>A</bericht>
    </bericht>

    <bericht>
        <auteur>+3168143****</auteur>
        <datum>1253441495</datum>
        <bericht>A</bericht>
    </bericht>
</xml>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren