テストケースとか書いてる時、バリデーションに引っ掛けたくて超長い文字列(65000文字とか)が欲しかったので調べてみた。
冷静に考えてループで作成するのは重すぎるので却下。
■文字列のオフセットを指定して作成
$str = 'a'; $str[99] = 'a'; // 100バイトの文字列が出来上がる
■sprintfを用いて作成
$str = sprintf("%'065501s", 0) // 65501バイトの文字列が出来上がる
個人的にはsprintfを用いたほうがエレガントで好き。