이 글은 어느 정도 참고할만한 가장 완벽하고 상세한 PHP 면접 질문(답변 포함)을 소개합니다. 이제 도움이 필요한 친구들이 참고할 수 있습니다.
관련 추천: 2019 PHP 면접 질문 요약 (컬렉션)
1. __FILE__은(는) 무슨 뜻인가요? (5점)
파일의 전체 경로와 파일명. 포함 파일에 사용되는 경우 포함 파일 이름을 반환합니다. PHP 4.0.2부터 __FILE__에는 항상 절대 경로가 포함되어 있지만 이전 버전에서는 때때로 상대 경로가 포함되어 있었습니다.
2. 클라이언트의 IP 주소를 얻는 방법은 무엇입니까? (5점)
$_SERVER[‘REMOTE_ADDR’]
3. 헤더 기능을 이용해 해당 페이지로 이동하는 문장을 작성하세요. (5점)
Header(‘location:index.php’);
4. $str은 HTML 텍스트입니다. 정규식을 사용하여 모든 js 스크립트를 제거하세요. (5점)
$pattern = ‘/<script.*>\.+<\/script>/’; Preg_replace($pattern,’’,$str);
5. 배열에서 null 값을 제거하는 명령문 작성 (5점)
$arr = array(‘’,1,2,3,’’,19);
첫 번째 방법:
$array1 = array(' ',1,'',2,3); print_r(array_filter($array1, "del")); function del($var) { return(trim($var)); }
두 번째 방법:
$arr=array("",1,2,3,""); $ptn="/\S+/i"; print_r(preg_grep($ptn,$arr));
6. out get 현재 타임스탬프의 기능과 전날의 시간을 출력하는 방법 (형식 : 년-월-일 시 : 분 : 초) (5분)
Time(); Date(“Y-m-d H:i:s”,Strtotime(“-1 day”));
7.in 인코딩 변환 함수를 작성합니다. PHP(5분)
Iconv(‘utf-8’,’gb2312’,$str);
8, $str = "1,3,5,7,9,10,20", 문자열 str을 각 숫자가 포함된 배열로 변환하는 데 사용할 수 있는 함수는 무엇입니까? (5점)
$arr = explode(“,”,$str);
9. serialize() / unserialize() 함수의 역할(5점)
serialize() 및 unserialize()는 PHP 설명서에 설명되어 있습니다.
serialize - 저장 가능한 값을 생성함을 나타냅니다. 반환 값은 문자열입니다. 이 문자열에는 유형과 구조를 잃지 않고 값을 나타내는 바이트 스트림이 포함되어 있으며 어디에나 저장할 수 있습니다.
unserialize — 저장된 표현에서 PHP 값 생성
특정 사용법:
$arr = array(“测试1″,”测试2″,”测试3″);//数组 $sarr = serialize($arr);//产生一个可存储的值(用于存储)
//모든 방법을 사용하여 저장된 값 가져오기(예: $sarr를 텍스트 파일에 저장하는 경우 file_get_contents를 사용하여 가져올 수 있음) $newarr에 저장합니다.
$unsarr=unserialize($newarr);//从已存储的表示中创建 PHP 的值
10. 연도와 월을 매개변수로 사용하여 함수를 작성하면 출력 결과는 지정된 월의 일 수(5포인트)
Function day_count($year,$month){ Echo date(“t”,strtotime($year.”-”.$month.”-1”)); }
11입니다. 파일은 /wwwroot/include/page.class.php입니다. 파일 확장자(5포인트)를 가져오는 메소드를 작성하세요
$arr = pathinfo(“/wwwroot/include/page.class.php”); $str = substr($arr[‘basename’],strrpos($arr[‘basename’],’.’));
12. 어떤 PHP 템플릿 엔진을 사용하셨나요? (5점)
thinkphp
13과 함께 제공되는 템플릿 엔진 Smarty. 간단히 클래스를 작성하고, 이 클래스를 인스턴스화하고, 클래스의 속성과 메소드를 호출하는 명령문을 작성하세요. (5점)
Class myclass{ Public $aaa; Public $bbb; Public function myfun(){ Echo “this is my function”; } } $myclass = new myclass(); $myclass->$aaa; $myclass->myfun();
14. 친구 테이블은 mysql 데이터베이스 db_test에 구축되었습니다. 데이터베이스 연결 사용자는 루트이고 비밀번호는 123입니다. 친구 테이블 필드는 id, 이름, 나이, 성별, 전화번호, 이메일입니다. 친구 테이블에서 나이를 선택합니다. > 20개의 모든 레코드에 대한 결과를 인쇄하고 총 쿼리 결과 수를 계산합니다. (5점)
<?php $link = Mysql_connect(“localhost”,”root”,”123”) or die(“数据库连接失败!”); Mysql_select_db(“db_test”,$link) or die(“选择数据库失败!”); $sql = “select id,name,age,gender,phone,email from friend where age>20”; $result = mysql_query($sql); $count = mysql_num_rows($result); While($row = mysql_fetch_assoc($result)){ Echo $row[‘id’]; …. }
score 테이블 필드 uid(int), 제목(varchar), 점수(int)
score 테이블 uid 필드는 user 테이블의 id 필드와 연관되어 있습니다
다음 sql문 작성에 필수
1) user 테이블에 새로운 레코드를 삽입하고, 새로 추가된 레코드와 연관된 레코드를 점수 테이블에 2개 삽입합니다(5점)
2 ) 점수 테이블에서 uid 2인 사용자의 최고 점수 기록 5개를 얻습니다(5점)
3) 공동 쿼리를 사용하여 "Zhang San"이라는 사용자의 총 점수를 얻습니다(5점)
4) 점수 기록 포함(5점) "Li Four" 사용자 이름 삭제
5) 점수 테이블 지우기(5점)
6) 사용자 테이블 삭제(5점)
1). mysql_query(“insert into user(name) values(‘test’)”); $id = mysql_insert_id(); Mysql_query(“insert into score(uid,subjext,score) values(“.$id.”,’english’,’99’)”); 2).$sql = select uid,sunjext,score from score where uid=2 order by score desc limit 0,5; 3).select s.score from score s RIGHT JOIN user u ON u.id=s.uid where u.name=’张三; 4).delete from score where uid in(select id from user where name=’李四’); Delete from user where name=’李四’; 5).delete from score; 6).drop table user;
위 내용은 가장 완벽하고 상세한 PHP 인터뷰 질문(답변 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!