Вы можете использовать динамические c имена переменных:
foreach ($file_path as $key=>$value) {
$$key = $value;
}
Я изо всех сил пытаюсь понять, почему это лучше, чем объединять их все в один прекрасный массив, но это может выходить за рамки вопрос.
Ваш код будет бороться, потому что вы устанавливаете $i=0
на каждой итерации, а затем в каждом операторе if
вы присваиваете ему другое значение. Прочитайте информацию о разнице между =
, ==
и ===
для операций присваивания и сравнения.