it was necessary for him to go out last night
【翻译】对他来说,昨天晚上出去有有必要的.
也就是说,他昨天晚上出去是有必要的,所以主语变成了I
这是第一个问题的解释
对于第二问题:
was是一般过去式不假,但是have had是现在完成时,它可以用来表示过去发生的动作,
如:I have finished my homework.我已经完成了我的作业.
此外,have to 的意思是“不得不”,原句中说,他出去是有必要的,也就是说可以理解为“他不得不出去”
希望我的解释能够帮助你更好地理解,如果还有疑问欢迎继续提问,