2016-09-22 22 views
-2

I (string) Array-Werte in einzelne Array hinzufügen Ich versuche, ich habe unter drei Array-Werte wie:Wie füge ich Array-Werte in ein einzelnes Array zusammen?

Array ([0] => 15 [1] => 16) 
Array ([0] => jan [1] => feb) 
Array ([0] => 2012 [1] => 2012) 

und ich will jetzt jene Array in einzelnen Array wie folgt:

Array ([0] => 15-jan-2012 [1] => 16-feb-2012) 

Wie kann ich das in PHP machen?

+0

hast du alles versuchen? – Dave

+0

Sie benötigen möglicherweise benutzerdefinierte code .. –

Antwort

2

Sie benötigen diesen benutzerdefinierten Code: Zu einfach, nur eine Schleife, um auf jedes Array mit Index zuzugreifen und in einem Array zu speichern.

$d = array(15, 16); 
$m = array("jan", "feb"); 
$y = array (2012, 2012); 

$final = array(); 
for($i = 0; $i < count($d); $i++){ 
    $final[] = $d[$i]. "-" .$m[$i]. "-" .$y[$i]; 
} 
print_r($final); 

Ausgang:

Array ([0] => 15-jan-2012 [1] => 16-feb-2012) 

Sie können es verwenden, array_merge_recursive, aber einige Schwierigkeiten hat.

ONLINE DEMO

+0

Noman danke .. Sie sparen mein Leben, funktioniert perfekt, was ich will. –

+0

@SantoshKhatri, Dachten Sie, dass diese Antwort von #Noman ??? –

+0

Ich konnte nicht finden, wer die Antwort gab, ich habe gerade überprüft, dass Noman editiert hat, also dachte ich, Noman gebe die Antwort ... also könnte ich falsch liegen, du hast die Antwort gegeben, also vielen Dank für deine Hilfe –

1

Schnelle und schmutzige Art und Weise, ich bin der Annahme, dass Ihr jedes Array gleiche Länge hat

$a = array ('15','16'); 
$b = array ('jan','feb'); 
$c = array ('2012','2012'); 

$newArray = array(); 

for($i=0;$i<=count($a);$i++){ 
    $newArray = $a[$i]. "-" .$b[$i]. "-" .$c[$i]; 
} 

echo '<pre>'; 
print_r($newArray); 
echo '</pre>'; 
+0

gleiche Antwort. Was gibt's Neues ? – Noman

+0

Sorry @Noman. Sie sagen richtig, aber ich habe nicht überprüft –

+0

Es ist eine Ruhe ich denke, –

1

Sie benötigen einen benutzerdefinierten Code wie diese zum Beispiel:

$arr = []; 
$arr1 = [15, 16, 17, ...]; 
$arr2 = [jan, feb, ...]; 
$arr3 = [2012, 2012, ...]; 

for($i=0, $count = count($arr1); i<$count; i++) 
{ 
    $arr[] = "$arr1[$i]-arr2[$i]-arr3[$i]"; 
} 
var_dump($arr); 
0

Verwenden array_column, um das benötigte Daten-Array zu erhalten, schliesse es mit implode. So etwas wie

$arr1 = array(15, 16); 
$arr2 = array('jan', 'feb'); 
$arr3 = array(2012, 2012); 

$date = array($arr1, $arr2, $arr3); 
$dates = array(array_column($date, 0), array_column($date, 1)); 

$reqDate = array(); 
foreach ($dates as $dateVal) { 
    $reqDate[] = implode('-', $dateVal); 
} 

var_dump($reqDate); //your required output 
0

Sie alles in einem Rutsch schreiben kann wie so:

$a = [15, 16]; 
$b = ['jan', 'feb']; 
$c = [2012, 2012]; 
$dates = array_map(function($arr) { 
    return implode('-', $arr); 
}, array_map(null, $a, $b, $c))); 
Verwandte Themen