如何重构此代码,因此我只有1行来分配$ filename值。
$i = 1;
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg"
while(file_exists($filename))
{
doSomething();
$i++;
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg";
}
答案 0 :(得分:1)
$i = 1;
$ok=true;
while($ok)
{
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i++ . ".jpg";
$ok=file_exists($filename)
if ($ok){
doSomething();
}
}
答案 1 :(得分:1)
$filename = 'prefix' .
(preg_replace('/prefix([0-9]+)suffix/', '$1', array_pop(glob('prefix*suffix'))) + 1) .
'suffix';
答案 2 :(得分:0)
只需替换以下代码:
$i++;
$filename = $config->PHOTO_PATH . $list->ID . "_" . $i . ".jpg";
这个:
$filename = $config->PHOTO_PATH . $list->ID . "_" . ++$i . ".jpg";
答案 3 :(得分:0)
$i = 1;
do {
doSomething();
$filename = sprintf('%s%s_%d.jpg', $config->PHOTO_PATH, $list->ID, $i++);
} while (file_exists($filename));