Как записать результат функции(простые числа) в массив?
Функцию не обязательно, можно в начале создать массив, потом в цикле сделать ее копию и записать туда числа

$myarr = array();
            for ($c = 1; $c <= 100; $c++) {
                for ($i = 2; $i < $c; $i++) {
                    if ($c % $i == 0) continue 2;
                }
                $myarr[] = $c;
            }
        print_r($myarr);
Надо ясно представлять себе, что на входе, что на выходе.
У каждого «атома» кода, и более крупных штуковин типа функции.

Наверное, стоит разобраться, что возвращает ваша функция. Пока — ничего, т.к. там нет return. Она только печатает значения.

Давайте по шагам. Вот мы в переменную добавим что-то из функции:function func_a()
{
  return 5;
}

$result = func_a();
$result === 5; // true
Функция может вернуть и массив:function func_b()
{
   return [1, 2, 3, 4, 5];
}

$result_array = func_b();
В вашей задаче, наверное, лучше формировать массив прямо внутри функции, и возвращать готовенький.

spoiler/**
 * Collect array of prime numbers up to provided top limit
 * @param int $top limit
 * @return array 
 */
function primes(int $top = 100):array
{
    if ($top <= 1) return [];
    $result = [2];
    for ($i = 3; $i <= $top; $i += 2) {
        for ($j = 3; $j < $i / 2; $j += 2) {
            if ($i % $j === 0) continue 2;
        }
        array_push($result, $i);
    }
    return $result;
}

primes(55) // [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53]
Алгоритм набора простых чисел можно улучшать и улучшать. Погуглите, что человечество уже напридумывало. Как минимум, чётные числа после 2 можно смело пропускать; проверять не до верхнего предела, а только до его половины. Подробнее (на англ.).