電子書籍の厳選無料作品が豊富!

下記のように、配列$messageに値が入っている状態で
$message = array()
message[0] ="あいう"
message[1] ="123"
message[2] ="ABC"

error関数に配列の$message 全項目を渡しています。
$log = $message[0].$message[1].$message[2]."\tメッセージ\n";
error($log);

上記のように[0][1]・・・ と指定するのではなく、$message(???)など、一つの記述で
配列の中身全要素を$logに入れる方法はありますか?

※$message[0].~[2] には値が入っているときと、いない場合があります。

A 回答 (1件)

こんな感じでどうでしょう



<?php
$message = array();
$message[0] ="あいう";
$message[1] ="123";
$message[2] ="ABC";

//結合するか
$log = join('',$message)."\tメッセージ\n";

//関数にする?
function error(){
  if(func_num_args() === 1 and is_string(func_get_arg(0))){
    return func_get_arg(0);
  }
  else{
    return join('',func_get_args());
  }
}

echo error($log);
echo error($message[0],$message[1],$message[2])."\tメッセージ\n";

?>
    • good
    • 0
この回答へのお礼

なるほど、joinというものを使えばよいのですね。
調べた結果、implode 関数でもOKなことが分かりました。
ありがとうございました!!

お礼日時:2011/04/07 16:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!