by shigemk2

当面は技術的なことしか書かない

sprintfをオーバーラップしてみよう

sprintfをオーバーラップして、
必ず\アッカリ〜ン/と改行コードが入るようにしてみた。

とりあえずこれを応用してみる。
call_user_func_arrayを使い、可変長引数を受けて、可変長引数の関数に渡してみよう - by shigemk2

使うものは、func_get_args と、 call_user_func_array。

<?php
function sprintf_original($format) {
  $args = func_get_args();
  $args[0] .= "\アッカリ〜ン/\n";
  return call_user_func_array("sprintf", $args);
}

echo sprintf_original("%sはすごく影が薄い、でも%sは老けない。", "赤座あかり", "荒木飛呂彦"); 

echo sprintf("%sはすごく影が薄い、でも%sは老けない。", "赤座あかり", "荒木飛呂彦"); 

結果。

赤座あかりはすごく影が薄い、でも荒木飛呂彦は老けない。\アッカリ〜ン/
赤座あかりはすごく影が薄い、でも荒木飛呂彦は老けない。