2017-05-02 65 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