▽1
●
a-kuma3 ●250ポイント ベストアンサー |
ベタですけど、こんな感じではどうですか?
<?php $i = 1; foreach (glob('hoge/*',GLOB_ONLYDIR) as $f) { $s_head = $s_tail = ''; if ($i % 2 == 1) { $s_head = 'a'; } else { $s_tail = 'b'; } echo $s_head . $f . $s_tail; $i += 1; } ?>
glob() を使うと指定したパターンにマッチする形でファイル名(ディレクトリ名)を取得してしまいます。
__例のものだと、hoge/1, hoge/2, hoge/3, hoge/4
echo する前に basename()や preg_match() などでパターン指定に使った部分を除去する作業が必要でしょう。
foreach (glob('hoge/*',GLOB_ONLYDIR) as $f) {
$flg = empty($flg);
if ($flg) print 'a';
print basename($f);
if (!$flg) print 'b';
print "\n";
}
順番に左右に振るだけなら算術演算するまでも無く、フラグを反転するだけでもOKかと。