PHP elementen samenvoegen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Task b

task b

14/07/2010 09:17:32
Quote Anchor link
Hey mensen ik heb een korte vraag.

Ik heb op dit moment de volgende array

$a =array("15","20","01","a","b","x");

wat ik nu wil is de 3 elemeten die voorin staan (15,20 en 01) samenvoegen naar 1 element zodat het 152001 wordt in de array zodat de array er zo uit komt te zien:

$a =array("152001","a","b","x");

Ik wilde eigenlijk vragen of hier een standaard functie voor is om dit voor elkaar te krijgen of moet ik hier een apart script voor maken?
 
PHP hulp

PHP hulp

24/11/2024 17:19:20
 
Chris -

Chris -

14/07/2010 09:19:25
Quote Anchor link
Wil je dan echt letterlijk de eerste 3 waarden in de array, of alle cijfers?

Voor beide moet je overigens zelf een functie maken volgens mij, maar het ligt er wel aan wat je precies wilt ;-)
 
- Mark -

- Mark -

14/07/2010 09:35:11
Quote Anchor link
Als de opbouw altijd hetzelfde is kun je hetvolgende doen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

    $a
= array("15","20","01","a","b","x");

    $a = array($a[0].$a[1].$a[2], $a[3], $a[4], $a[5]);

?>
 
Task b

task b

14/07/2010 09:38:13
Quote Anchor link
yep gewoon letterlijk en dat ie dan automatisch een nieuwe array aanmaakt.

$a = array("15","18","13","2","3","5","6","12");
dus met print_r zou het er nu zo uitzieN;
Array ( [0] => 15 [1] => 18 [2] => 13 [3] => 2 [4] => 3 [5] => 6 [6] => 12)

moet dan uiteindelijk dit worden
$b = array("151813","2","3","5","6","12");
met print_r dus zo:
Array ( [0] => 151813 [1] => 2 [2] => 3 [3] => 5 [4] => 6 [5] => 12

dat automatisch de elementen dus ook worden opgeschoven als je snapt wat ik bedoel :)
------------------edit---------------

heb nu trouwes zelf een scriptje geschreven en gebruik gemaakt van array_unshift() en array_slice(). Maar als iemand betere oplossingen heeft zou ik dat graag horen aangezien ik dit niet mooi vind staan (hoewel het werkt :P)
Gewijzigd op 14/07/2010 10:01:03 door task b
 
- Mark -

- Mark -

14/07/2010 10:01:10
Quote Anchor link
Tweede poging.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

    $a
= array("15","18","13","2","3","5","6","12");

    $a = array_merge(array($a[0].$a[1].$a[2]), array_splice($a, 3, count($a)));

?>


EDIT: Hou ziet die van jezelf er nu uit dan?
Gewijzigd op 14/07/2010 10:03:56 door - Mark -
 
Chris -

Chris -

14/07/2010 10:04:33
Quote Anchor link
Spuit 11
Gewijzigd op 14/07/2010 10:05:19 door Chris -
 
Task b

task b

14/07/2010 10:26:10
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$temp
= $a[0].$a[1].$a[2];
 $b = array_slice($a, 3);
 array_unshift($b,$temp);
?>


Op deze manier. Dus eest een nieuwe waarde aanmaken en dan gewoon een nieuwe array aanmaken met die waarde erin :P. Jouw oplossing werkt ook goed (beide geprobeerd). Maar hoopte er eigenlijk op dat een standaard functie voor in php zit :P
 
- Mark -

- Mark -

14/07/2010 10:36:09
Quote Anchor link
Niet dat ik weet, Ik zou ook niet weten waar je zoiets voor nodig zou hebben :p Dit soort probleempjes zijn wel altijd leuk om mee te spelen.
 
Task b

task b

14/07/2010 10:41:20
Quote Anchor link
had het nodig omdat ik een csv inleest waarin een veld staat met 1 en een veld met 33. Maar het is maar 1 waarde (1.33). Dus deze moesten worden samengevoegd voordat ik het naar de DB schrijf(die er maar 1 kolom voor heeft staan).
 



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.