8

私はこのようなコードを持っています

$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

4

8 に答える 8

15

私はあなたがそれを分割する正当な理由があり、それを再びまとめるだけだと仮定します:

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

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

echo var_dump($result);

次を出力します。

string(3) "foo"
于 2012-12-13T14:40:31.167 に答える
2

次のように、内破を使用します。 $string = implode('', $char_buff);

于 2012-12-13T14:47:13.260 に答える
2

str_split()文字列を配列に変換します。単語全体を保持したい場合は、この関数を使用する必要はありません。

于 2012-12-13T14:40:51.543 に答える
1

では、なぜそれを分割して、再び文字列にするのでしょうか?

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

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

var_dump( implode('', $final) );
于 2012-12-13T14:40:59.030 に答える
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);
}
?>
于 2012-12-13T14:48:40.257 に答える
0

implode() http://php.net/manual/en/function.implode.phpを探しているようです

あなたが投稿したコードについては $chars .= $char; おそらくあなたがしようとしていたことです

于 2012-12-13T14:40:39.827 に答える
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);
于 2012-12-13T14:41:36.860 に答える
0

この答えを探している人もいるかもしれません。この問題には var_dump() はもう必要ないと思います。

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

ここにHTMLがあります

<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>

于 2017-11-18T04:59:56.693 に答える