2つのテキストファイルをマージソート
<? function mergeSort($list1, $list2){ $mergedList = []; $n1 = 0; $n2 = 0; while($n1 < count($list1) && $n2 < count($list2)){ if(strcmp($list1[$n1], $list2[$n2]) <= 0){ $mergedList[] = $list1[$n1++]; }else{ $mergedList[] = $list2[$n2++]; } } if($n1 < count($list1)){ $mergedList = array_merge($mergedList, array_slice($list1, $n1)); } if($n2 < count($list2)){ $mergedList = array_merge($mergedList, array_slice($list2, $n2)); } return $mergedList; } $list1 = file('hoge1.txt', FILE_IGNORE_NEW_LINES); $list2 = file('hoge2.txt', FILE_IGNORE_NEW_LINES); $mergedList = mergeSort($list1, $list2); foreach($mergedList as $s) echo $s."\n";