2

エコーを変数に出力できるかどうか知りたいです。つまり、echo は複数の引数を取るので、echo を使用して次のような出力を行うことができます。

echo 'Welcome ', $name, ', we are here to help!';

文字列を連結するよりもクリーンで維持しやすいことがわかり、複雑な構文に耐えられません。echo で値を返すだけにすることは可能ですか? だから私は次のようなことができます

$string_not_meant_for_being_displayed = echo('Lorem', $ipsum);

または、引数を無限に取る関数を作成することは可能ですか?

パフォーマンスは実際には問題ではありません。

4

8 に答える 8

3

はい、無限の数の引数を取る関数を作成することは可能です。func_num_args()提供された引数の数を取得するために使用するだけです。

function abcd(){
     $numargs = func_num_args();
     echo "Number of arguments: $numargs\n";
}

abcd(1,2,3,4,5,6);
于 2013-02-23T04:49:00.980 に答える
1

これはどうですか ??

<?php

function extended_echo($text, $values) {
  $count = 1;
  foreach ($values as $values) {
    $text = preg_replace("#@" . $count . "@#", $values, $text);
    $count++;
  }
  return $text;
}

$myValues = array();
$myValues[0] = 'TechNew.In';
$myValues[2] = 'tech';
$myValues[3] = 'dino babu';

$myText = "Hello, @1@ is an awesome @2@ website by @3@.";

echo extended_echo($myText, $myValues);
?>

出力

Hello, TechNew.In is an awesome tech website by dino babu.
于 2013-02-23T05:25:07.693 に答える
1

エコーを使用する必要がある場合は、出力バッファリングの使用を検討する必要があると思います: ob_startおよびob_get_flush

例:

ob_start();
echo "This is a test";
$string_not_meant_to_be_displayed = ob_get_flush();
于 2013-02-23T04:55:10.443 に答える
1

このようなもので何が問題なのですか...

$name='Goober';
$thing="Welcome $name, we are here to help!";
echo $thing;
echo "\n";
于 2013-02-23T04:57:06.053 に答える
1

なぜ echo を変数に格納したいのですか?

複数の引数を使用するには、二重引用符構文を使用します。

echo "$firstname さん、$lastname さんへようこそ。助けに来ました! ";

于 2013-02-23T04:49:50.250 に答える
1

私はあなたの質問を少し混乱させていますが、私がそれをどのように理解しているかについては、

関数内では、echo を使用する代わりに、return を使用します。

あなたが関数を持っている例、

function myFunction()
{
     $name = "Leonardo";

     return $name;
}

その場合、戻り値を変数として使用できます。そのため、$name 変数の値は "Leonardo" になりました。

于 2013-02-23T04:51:41.647 に答える
1

ユーザーsprintfvsprintfprintf代わりに

http://php.net/manual/en/function.sprintf.php

http://www.php.net/manual/en/function.vsprintf.php

http://www.php.net/manual/en/function.printf.php

于 2013-02-23T04:52:07.673 に答える
0

以下のように、別の関数を作成する問題を解決できました。

function ee(){
     foreach(func_get_args() as $arg) {
        $v .= $arg;
     }
     return $v;
}

$name = "John";
echo ee("Welcome ", $name, ", we are here to help");
$string_not_meant_to_be_displayed = ee("His name is ", $name);

このようにして、エコーのように複数の引数を使用できますが、必要に応じて別の場所に出力できます。

于 2013-02-23T22:11:24.340 に答える