Конкретно по вопросу:
1)создать переменную
2) передать функции переменную по ссылке и вызвать функцию
3) проверять значение переменной из пункта 1(значение переменной должно изменится после выполнения функции)
4) твои условия.
Я не знаю php, поэтому написал пример на C#, но переменные по ссылке, есть и в php, так что это можно загуглить.
static void Main(string[] args)
{
int changeVar = 0; //1)
int anotherParam = 1;
do{
MyFunction(ref changeVar, anotherParam); //2)
if (changeVar ==1)//3)
{
anotherParam +=1;//4)
}
}while(changeVar == 1)//4)
}
static void MyFunction(ref int changeVar, int anotherParam)
{
if (anotherParam < 10) changeVar = 1;
else changeVar = 0;
}
При изменении значения переменной переданной по ссылке, изменяется значение и вне функции, поскольку они ссылаются на одну область памяти.
А вообще лучше большие функции дробить на маленькие, те же расчёты и запись в файлы. И исходя из этого можно заканчивать функцию где присваивается значение той переменной и возвращать это значение в качестве значения функции. А потом уже делать всякие проверки и повторение функции или другие действия. Если у тебя получается такая штука, которую ты описал, то у тебя код неправильно логически построен.