2017-05-02 104 views
-2

我有兩個字符串,我想連接字符串像john+smithjsomhinth。我這樣做,但array_combine沒有顯示結果集。 array_combine不在這裏工作爲什麼數組聯合不工作

array_combine有什麼用?

<? php 

//variable that store two string 
    $a ='JOHN'; 
    $b='SMITH'; 
    $val=str_split($a,1); 
    $val1=str_split($b,1); 
    //print_r($val1); 
    //print_r($val); 
    $c=array_combine($val,$val1); 
    print_r($c); 
?> 

此我想我有兩個數組的鍵碼和身份證,我想連接到陣列的鍵組合,並希望這個輸出是有什麼解決方法二連接兩個字符串這樣???

並想知道爲什麼array_combine不在那裏工作,array_combinearray merge之間有什麼區別。

+0

嗯...有你的閱讀文檔for ['array_combine(..)'](http://php.net /manual/ro/function.array-combine.php)本身..?它會導致鍵控數組。如果你想連接字符串,使用點('.'),即。 '$ a。 $ B'。 –

+2

因爲array_combine是完全不同的東西的函數;用一組預定義的鍵和一組預定義的值創建一個數組 –

+0

只是,什麼?你能重新回答你的問題嗎?這沒有意義。如果你想知道array_merge和array_combine之間的區別,請閱讀文檔。 –

回答

1

對於約翰·史密斯+ = jsomhinth你可以試試這個 -

$a ='JOHN'; 
$b='SMITH'; 
$val=str_split($a,1); 
$val1=str_split($b,1); 
// Merge the array values pairwise 
$str_array = array_map(function($x, $y) { 
    return ($x . $y); 
}, $val, $val1); 

$str = ''; 
// Concatenate the values 
foreach($str_array as $s) 
{ 
    $str .= $s; 
} 

輸出

JSOMHINTH 

Code example

+0

我可以通過array_combine獲得這個解決方案嗎?我想從簡單的解決方案 –

+0

'array_combine'不能這樣工作。您可以查看http://php.net/manual/en/function.array-combine.php以供參考 –

+0

sougata bose您的代碼無法正常工作。 –

1
$a = "JOHN"; 
$b = "SMITH"; 
$c = ""; 
$length = strlen($a)> strlen($b) ? strlen($a) : strlen($b); 

echo "Given String is ". $a."--".$b."<br>"."Output : "; 

for ($i = 0; $i <= $length; $i++) { 

    $c.= substr($a, $i,1);  
    $c.= substr($b, $i,1); 
} 
echo $c; 
+0

如果你想存儲一個變量,你可以將它連接到一個變量並顯示它。 – Rishi

+0

Thx爲您在SO上的第一個答案。你可以編輯你的答案,以顯示如何在問題中試圖找到存儲在'c'中的想要的結果嗎?我看到你的評論,但也許你可以解釋*如何'連接到變量'? – mschilli

+0

@mschilli現在試試..! – Rishi