php面试题7(1、unset变量是删除栈变量,并不删除堆变量)(2、php爬虫特别简单: 可以file_get_contents和直接fopen)
php面试题7(1、unset变量是删除栈变量,并不删除堆变量)(2、php爬虫特别简单: 可以file_get_contents和直接fopen)
一、总结
1、unset变量是删除栈变量,并不删除堆变量
2、php爬虫特别简单: 可以file_get_contents和直接fopen
第一种方法:
$str=file_get_contents(‘http://www.baidu.com’);
第二种方法:
$fp=fopen(‘http://www.baidu.com’,’r’);
二、php面试题7
谈谈你对MVC 的认识,介绍几种目前比较流行的MVC 框架?
MVC 是一种设计模式中:
M 是model 模型,业务逻辑层
V 是视图view 主要负责用户交互层
C 是控制器 是连接视图和模型的桥梁,就比如一个工厂,C 是老板M 是工厂,V 是显示给用户
的产品,mvc 很好的
Mvc 优点:
1) 低耦合性
2) 高重用性和可使用行
3) 快速的部署
4) 可维护性
html 表单中 GET 与POST 提交方法的区别?
$_GET 传参是请求HTTP 协议通过url 参数传递和接收,会在浏览器地址栏中看到
IE 的url 最大长度是2083 个字节,可以用于GET 传递数据的长度是2048 个字节,
$_POST 是实体数据传参,隐藏式的,可以通过表单提交大量信息
请简述SESSION 与COOKIE 的区别?
区别:
1,SESSION:存储在服务器端, cookie:存储在客户端
2,两者都可通过时间来设置时间长短
3,cookie 不安全,考虑安全性还是用 session
4,session 保存到服务器端,如果访问量过大,对服务器性能很影响,应使用 memcache 缓存
session
5,单个 COOKIE 在客户端限制是 3K,即存放的 cookie 不能超过 3K,SESSION 没有限制
#linux 下一般放置 session 在/tmp/session-*
求两个日期的差数,例如 2007-2-5 ~ 2007-3-6 的日期差数。
Strtotime(“2007-3-6”)-strtotime(“2007-2-5”)
写出如下程序的输出结果:
<?
$test='aaaaaa';
$abc=&$test;
unset($test);
echo$abc;
?>
aaaaa
unset变量是删除栈变量,并不删除堆变量
在空表 News 中,字段 ID 为自增主键,批量插入 17 条记录之后,发现最后三条数据有误,
删除此三条记录后重启 Mysql 数据库,再重新插入三条记录,请问最后一条记录的 ID 值是多
少?
id 为 20
至少写出一种验证 139 开头的 11 位手机号码的正则表达式:
/^139\d{8}$/
请写一个函数,实现以下功能:
字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。
第一种:
<?php
function demo($string){
$arr=explode('_',$string);
foreach($arr as $key=>$val){
$arr[$key]=ucfirst($val);
}
return implode('',$arr);
}
?>

请写一个函数将 1234567890 转换成 1,234,567,890 每 3 位用逗号隔开的形式:
第一种方法:
<?php
$str='1234567890';
echo number_format($str);
?>
第二种方法:
<?php
$str='1234567890';
function demo($str){
$str=strrev($str);
$arr=str_split($str,3);
$str=strrev(implode(',',$arr));
}
demo($str);
?>
有 A(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中 A.id 与 B.id 关联,现在要求写一条
SQL 语句,将 B 中 age>50 的记录的 c1、c2 更新到 A 表中统一记录中的 c1、c2 字段中。
update A,B set A.c1=B.c1, A.c2=B.c2 where A.id=B.id and B.age>50
【Linux 知识】
如何实现每天 0 点钟重新启动服务器。
分 时 日 月 星期
Crontab -e
00 00 * * * /sbin/reboot
分 时 日 月 周
2.当前目录下有一个文件为 showme.sh , 如何修改文件,将其指定为使用 /bin/bash 运
行(5 分),如何修改其权限为所有用户可读写,所有用户可执行:
Vi showme.sh
#!/bin/bash #在最开头部分加上这句话就可以了
Chmod 777 showme.sh
当前目录下有一个文件为 showme.sh,如何修改其所有人为 root:
Chown root showme.sh
chown root chowme.sh
chown :root chowme.sh
chown root:root chowme.sh
【附加部分】
1.使用 thinkphp 在控制器(Action)中传递一个一维数组到视图(Tpl),并将数组循环
显示在前台页面,请简要的写出前后台的主要代码。
Action 中内容
public function index()
{
$index=array("a","b","c");
$this->assign("index",$index);
$this->display();
}
Tpl 中内容: //因为是一位数组不用 volist
<foreach name= "index" item= "val" >
<h1><{$val}></h1>
</foreach>

第一种方法:
$str=file_get_contents(‘http://www.baidu.com’);
第二种方法:
$fp=fopen(‘http://www.baidu.com’,’r’);
$str=’’;
While(!feof($fp)){
$str.=fread($fp,’1024’);
}
当涉及到转化编码时:

4 请用 php 将上题中读取出的网页内容的<title>标签的值解析出来:
preg_match('/<title>(.*)<\/title>/',$str,$arr);
/**
$arr 的结构
Array
(
[0] => <title>aaaaa<title>
[1] => 文件内容)
*/
echo $arr[1];
php面试题7(1、unset变量是删除栈变量,并不删除堆变量)(2、php爬虫特别简单: 可以file_get_contents和直接fopen)的更多相关文章
- 面试题21:包含min函数的栈
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:google的一道面试题.我看到这道题目时,第一反应就是每次p ...
- mfc学习之路--如何删除通过控件新增的变量
刚刚学校mfc的人都会遇到这样一个问题(比如我),在照做书做一个mfc程序,给控件新增变量时变量类型错了,但是变量名对了,然后想要加个正确的时候提示"已经存在该对象",然后就傻了, ...
- Java线程:线程栈模型与线程的变量
Java线程:线程栈模型与线程的变量 要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型. 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶.线程栈的内容是随着程序的运 ...
- 【面试题021】包含min函数的栈
[面试题021]包含min函数的栈 MinStack.cpp: 1234567891011121314151617181920212223242526272829303132333435363738 ...
- 使用typeid(变量或类型).name()来获取常量或变量的类型---gyy整理
使用typeid(变量或类型).name()来获取常量或变量的类型 <typeinfo> 该头文件包含运行时类型识别(在执行时确定数据类型)的类 typeid的使用 typeid操作 ...
- ApiPost的环境变量的定义和使用「ApiPost环境变量」
新版的ApiPost(Chrome拓展V2.0.8+/客户端V2.2.1+)已经支持环境变量的定义和使用. 本文主要介绍ApiPost环境变量的第一课:如何定义环境变量,并如何使用它. ApiPost ...
- 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程
继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...
- 剑指offer——面试题30:包含min函数的栈
#include"iostream" #include"stdio.h" using namespace std; ; ; template<typena ...
- Eclipse里选中一个变量后,这个类里的该变量不变色了?
Eclipse里选一个变量后,这个类里的该变量不变色了. 1.使用“Alt+Shift+O”对该提示功能的开/关切换 2.可以在以下设置选中后的文本提示颜色 window--> Prefere ...
随机推荐
- [NowCoder]牛客网NOIP赛前集训营-提高组(第六场)题解
A.最长路 题意:给定有向图,每条边有个字符\([0,10^9]\),求每个点最长路字典序最小的方案.\(N,M\le 10^6\) 建反图跑拓扑排序,显然入过队的点都有最长路,考虑如何判断字典序大小 ...
- php资源类型变量
php资源类型变量 一.总结 1. php资源类型变量:用来打开文件.数据库连接.图形画布区域等的一种特殊变量,比如FILE *fp; 二.PHP: Resource 资源类型 Resource 资 ...
- 3、Task.Factory属性
3.Task.Factory属性 Task类提供了一个Factory静态属性,这个属性返回一个TaskFactory对象. Task task = Task.Factory.StartNew(Task ...
- 洛谷 P1598 垂直柱状图
P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. ...
- [TS] Swap two element in the array (mutation)
Shuffling is a common process used with randomizing the order for a deck of cards. The key property ...
- sass工具、相关插件
http://koala-app.com/index-zh.html 下载koala 把css文件夹(包含.scss后缀的文件)整个拖进去: 然后在sublime打开.scss文件编译,自动生成css ...
- Solr的关键特性
1.基于标准的开放接口:Solr搜索服务器支持通过XML.JSON和HTTP查询和获取结果. 2.易管理:Solr可以通过HTML页面管理,Solr配置通过XML完成. 3.可伸缩性:能够有效地复制到 ...
- swiper轮播控件配置项
var mySwiper = new Swiper ('.swiper-container', { direction: 'horizontal', loop: true, auto ...
- 无法显式调用运算符或访问器 错误处理方法 DLL study
无法显式调用运算符或访问器 错误处理方法 转 无法显式调用运算符或访问器 错误处理方法 反汇编一个dll类库,导出的项目会报出很多bug,其中主要的就是“无法显式调用运算符或访问器”这个错误,看了一下 ...
- Codeforces_GYM_100741 A
http://codeforces.com/gym/100741/problem/A A. Queries time limit per test 0.25 seconds memory limit ...