如何将foreach中的字符串组合成单个字符串PHP

时间:2012-12-13 14:36:21

标签: php string foreach

我有这样的代码

$word = 'foo';
$char_buff = str_split($word);

foreach ($char_buff as $chars){
    echo var_dump($chars);
}

输出

string(1) "f" 
string(1) "o" 
string(1) "o"

由于某些原因,我想让输出只变成这样的1个字符串:

string(3) "foo"

我试过这个

$char.=$chars;
echo var_dump($char);

但它显示错误Undefined variable: char

8 个答案:

答案 0 :(得分:7)

我会假设你有充分的理由把它分开,只是把它重新组合起来:

$word = 'foo';
$result = "";
$char_buff = str_split($word);

foreach ($char_buff as $char){
    $result .= $char;
}

echo var_dump($result);

其中输出以下内容:

string(3) "foo"

答案 1 :(得分:2)

str_split()将字符串转换为数组。如果你想保留整个单词,就没有必要使用这个功能。

答案 2 :(得分:2)

我会使用implode,就像这样: $string = implode('', $char_buff);

答案 3 :(得分:0)

听起来像是在寻找内爆() http://php.net/manual/en/function.implode.php

至于您发布的代码 $ chars。= $ char; 可能就是你想要做的事情

答案 4 :(得分:0)

那么,为什么要拆分它只是为了让它再次成为一个字符串?

$word='foo'
$char_buff = str_split($word);

$final = array();
foreach ($char_buff as $chars){
    $final[] = $chars;
}

var_dump( implode('', $final) );

答案 5 :(得分:0)

分裂一个字符串有点奇怪,然后再把它粘在一起,但是这里有:

$word='foo'
$char_buff = str_split($word);

// this is what is missing, you have to define a variable first
$newword = "";

foreach ($char_buff as $chars){
     $newword .= $chars;
}

echo var_dump($newword);

答案 6 :(得分:0)

<?php
$word = 'foo';
$char_buff = str_split($word);

// here is the trick
$length = count($char_buff);
$char_buff[$length] = $word;

foreach ($char_buff as $chars)
{
    echo var_dump($chars);
}
?>

答案 7 :(得分:0)

也许有些人正在寻找这个答案。 我认为这个问题不再需要var_dump()了。

<?php 
    if(isset($_POST['test'])){
        $result = '';
        for($x=1;$x<=4;$x++){
            $ans = $_POST['ans'.$x];
            $result .= $ans;
        } 
    echo $result; 
    }
?>

这是HTML

&#13;
&#13;
<form role="form" method="post" action="<?php echo $url;?>">
	<input type="checkbox" name="ans1" value="A">A 
	<input type="checkbox" name="ans2" value="B">B 
	<input type="checkbox" name="ans3" value="C">C 
	<input type="checkbox" name="ans4" value="D">D 
	<input type="submit" name="test" value="Submit Answer">
</form>
&#13;
&#13;
&#13;