2017-06-20 50 views
2

我有這樣的陣列:重構陣列加入從第三位置元素陣列的端和存儲爲第三元件

Array(
    [0] => 85 
    [1] => 85167920 
    [2] => ELECTRICAL/ELECTRONIC 
    [3] => DEVICES 
    [4] => FOR 
    [5] => REPELLING 
    [6] => INSECTS 
    [7] => (E.G.MOSQUITOES 
    [8] => ETC) 
) 

Array(
    [0] => 85 
    [1] => 851680 
    [2] => ELECTRIC 
    [3] => HEATING 
    [4] => RESISTORS 
) 

我想陣列是這樣的:

Array(
    [0] => 85 
    [1] => 851680 
    [2] => ELECTRIC HEATING RESISTORS 
) 

and

Array(
    [0] => 85 
    [1] => 85167920 
    [2] => ELECTRICAL/ELECTRONIC DEVICES FOR REPELLING INSECTS (E.G.MOSQUITOES ETC) 
) 

我不確定使用什麼方法:merge/combine/push。
我應該使用什麼?

回答

5

使用array_slice()implode()

方法:(Demo

$array=[85,851680,'ELECTRIC','HEATING','RESISTORS']; 
$array=[$array[0],$array[1],implode(' ',array_slice($array,2))]; 
var_export($array); 

輸出:

array (
    0 => 85, 
    1 => 851680, 
    2 => 'ELECTRIC HEATING RESISTORS', 
) 
+0

@mickmackusa ......它的工作原理。謝謝你的回答。 – Boyka

1

這應該很好地工作:

<?php 

$a = [ 
      85, 
      85167920, 
      'ELECTRICAL/ELECTRONIC', 
      'DEVICES', 
      'FOR', 
      'REPELLING', 
      'INSECTS', 
      '(E.G.MOSQUITOES 
      ETC)' 
]; 
$b = [ 
      85, 
      851680, 
      'ELECTRIC', 
      'HEATING', 
      'RESISTORS' 
]; 

$aa = array_slice($a, 0,2); 
$aa[] = implode(' ',array_slice($a, 2)); 

$bb = array_slice($b, 0,2); 
$bb[] = implode(' ',array_slice($b, 2)); 

print_r($aa); 
echo '<br>'; 
print_r($bb); 

?> 
+1

:D:D m在這裏幫忙,你有一個過程,我有我的。 –

+0

不,您的流程與我之前發佈的流程相同。你的答案是頁面膨脹,它可能會被進一步降低,因爲它是一個晚期重複。 – mickmackusa

+1

很抱歉,但我不認爲它是重複的。 –

-1

嘗試下面的代碼,

<?php 
$array = array(); 
$temp_array = array(); 
$temp_str_array=array(); 
$array[]=85; 
$array[]=85167920; 
$array[]='ELECTRICAL/ELECTRONIC'; 
$array[]='DEVICES'; 
$array[]='FOR'; 
$array[]='REPELLING'; 
$array[]='INSECTS'; 
$array[]='(E.G.MOSQUITOES'; 
$array[]='ETC)'; 
foreach($array as $k=>$values){ 
    if($k<=1){ 
     $temp_array[$k]=$values; 
    } 
    else{ 
     $temp_str_array[]=$values; 
    } 
    if(count($array)==($k+1)){ 
     $temp_array[3]=implode(" ",$temp_str_array); 
    } 
} 
echo "<pre>"; 
print_r($temp_array); 
?> 

輸出,

Array 
(
    [0] => 85 
    [1] => 85167920 
    [3] => ELECTRICAL/ELECTRONIC DEVICES FOR REPELLING INSECTS 
    (E.G.MOSQUITOES ETC) 
)