jsと連携してこんな風にする
javascript
1<?PHP
2$ch=filter_input(INPUT_POST,"ch",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
3$gakunen=filter_input(INPUT_POST,"gakunen",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
4if(!is_null($ch)){
5 print_r($ch);
6 print_r($gakunen);
7}
8?>
9<script>
10window.addEventListener('DOMContentLoaded', function(e){
11 [].forEach.call(document.querySelectorAll('[name="ch[]"]'),function(x){
12 x.addEventListener('change',function(e){
13 var flg=x.checked;
14 x.closest('div').querySelector('[name="gakunen[]"]').disabled=!flg;
15 });
16 });
17});
18</script>
19<form method="post">
20<div><label><input type="checkbox" name="ch[]" value="a">選択肢A</lable> 「<input type="text" name="gakunen[]" value="" pattern="[1-3]" disabled required>」年生</div>
21<div><label><input type="checkbox" name="ch[]" value="b">選択肢B</lable> 「<input type="text" name="gakunen[]" value="" pattern="[1-3]" disabled required>」年生</div>
22<div><label><input type="checkbox" name="ch[]" value="c">選択肢C</lable> 「<input type="text" name="gakunen[]" value="" pattern="[1-3]" disabled required>」年生</div>
23<input type="submit" value="send">
24</form>
追記
PHPだけでジャッジしたいならこう
PHP
1<?PHP
2$ch=filter_input(INPUT_POST,"ch",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
3$gakunen=filter_input(INPUT_POST,"gakunen",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY);
4if(!is_null($ch)){
5 $keys=array_keys($ch);
6 $gakunen=array_filter($gakunen,function($x) use($keys){
7 return in_array($x,$keys)!==false;
8 },ARRAY_FILTER_USE_KEY);
9 print_r($gakunen);
10}
11?>
12<form method="post">
13<div><label><input type="checkbox" name="ch[0]" value="a">選択肢A</lable> 「<input type="text" name="gakunen[0]" value="">」年生</div>
14<div><label><input type="checkbox" name="ch[1]" value="b">選択肢B</lable> 「<input type="text" name="gakunen[1]" value="">」年生</div>
15<div><label><input type="checkbox" name="ch[2]" value="c">選択肢C</lable> 「<input type="text" name="gakunen[2]" value="">」年生</div>
16<input type="submit" value="send">
17</form>