2016-11-28 55 views
1

我的數組是:破滅字符串數組兩兩 - PHP

Array 
(
    [0] => 1 
    [1] => 4 
    [2] => 2 
    [3] => 5 
    [4] => 3 
    [5] => 6 
    [6] => 4 
    [7] => 7 
) 

我用這個代碼: 破滅( 「」,$輸出);

,但它返回: 1,4,2,5,3,6,4,7,6

我想0帶有1和2配備了3個和等與之間的「TS」他們。 之後他們與「ts」,它應該帶有逗號。這樣的:總結 1ts4,2ts5,3ts6,4ts7

:不是奇逗號(與破滅,我說的),我希望它把「TS」(1ts4,2ts5,3ts6,4ts7)

+0

U的使用foreach循環也爲上述要求 –

+0

@RahulPawar謝謝你,但如何只是改變的可能性? :D – Mewtei

回答

2

試試下面的代碼: -

$arr = [1,4,2,5,3,6,4,7]; 
$strArr= []; 
for($i=0;$i<count($arr);$i=$i+2){ 
    $strArr[] = "{$arr[$i]}ts{$arr[$i+1]}"; 
} 
echo implode(',',$strArr); 

編輯

+0

謝謝,這也適用。 – Mewtei

+0

不客氣:-) –

2

您可以使用array_chunk函數先將數組拆分成多個部分,然後按照您的意願拼合它們。

+1

如何內爆?因爲它變成了兩部分,我想通過逗號和「ts」來爆炸 – Mewtei

+0

對分塊數組使用foreach循環以「ts」撞擊零件。第二步將使用逗號將imploding結果數組打亂。 –

2

你可以像下面: -

<?php 
error_reporting(E_ALL); 
ini_set('display_errors',1); 

$arr = Array 
(
    0 => 1, 
    1 => 4, 
    2 => 2, 
    3 => 5, 
    4 => 3, 
    5 => 6, 
    6 => 4, 
    7 => 7 
); 

$new_array = array_chunk($arr,2); // break the array into sub-arrays of two-two values each 

$my_string = ''; // an empty string 
foreach ($new_array as $new_arra){ // iterate though the new chunked array 

    $my_string .= implode('ts',$new_arra).','; // implode the sub-array and add to the variable 
} 

echo trim($my_string,','); // echo variable 

輸出: - 1ts4,2ts5,3ts6,4ts7

https://eval.in/686524

0

這裏是另一種方式:

<?php 
$a = Array(0 => 1,1 => 4,2 => 2,3 => 5,4 => 3,5 => 6,6 => 4,7 => 7);// your array 
$i=1; 
foreach ($a as $key => $value) { 
    if ($i % 2 != 0) { 
     $newArr[] = $value."ts".$a[$i]; 
    } 
    $i++; 
} 
print_r($newArr); 
?> 

輸出:

陣列( [0] => 1ts4 [1] => 2ts5 [2] => 3ts6 [3] => 4ts7)

1

我知道我可能會回答晚了,但是這可能是有幫助的,而無需使用array_chunk功能和使用單for環路等爲

$arr = Array 
(
    0 => 1, 
    1 => 4, 
    2 => 2, 
    3 => 5, 
    4 => 3, 
    5 => 6, 
    6 => 4, 
    7 => 7 
); 

$res = []; 
$count = count($arr); 
for($k = 0; $k < $count; $k+=2) 
{ 
    $res[] = isset($arr[$k+1]) ? "{$arr[$k]}ts{$arr[$k+1]}" : $arr[$k]; 
} 

echo implode(",",$res); 

輸出:

1ts4,2ts5,3ts6,4ts7 
0

另一種方式:

$array = [ 
    0 => 1, 
    1 => 4, 
    2 => 2, 
    3 => 5, 
    4 => 3, 
    5 => 6, 
    6 => 4, 
    7 => 7, 
]; 

$array = array_map(function($item) { return implode('ts', $item); }, array_chunk($array, 2)); 
echo implode(',', $array);