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 ...
随机推荐
- HDU 3072--Intelligence System【SCC缩点新构图 && 求连通全部SCC的最小费用】
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- ASP.NET MVC使用Ninject
Ninject是一个快如闪电的,轻量级的.....依赖注入框架,呃呃呃,貌似很少用到,Ninject就是一个DI容器,作用是对ASP.NET MVC程序中的组件进行解耦 ,说到解耦其实也有其他的方式可 ...
- Trie图(模板)
Trie图(蒟蒻听说AC自动机能做的题Trie图都能做,而且AC自动机可能被卡,就没学过AC自动机),最近想捡一捡,好久之前做的了. Trie图,就是一个在Trie树上建的图 大概描述一下 比如说有 ...
- DTU(用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备)
DTU (Data Transfer unit),是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备.DTU广泛应用于气象.水文水利.地质等行业.
- CISP/CISA 每日一题 四
CISA 每日一题(答) 连续在线审计技术: 1.系统控制审计检查文件和内嵌审计模型(SCARF/EAM):非常复杂,适用于正常处理不能被中断:通过在组织的主机应用系统中内嵌经特别编写的审计软件,使审 ...
- 【例题 8-3 UVA - 1152】4 Values whose Sum is 0
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然中间相遇. 自己写了个hash处理一下冲突就可以了. [代码] /* 1.Shoud it use long long ? 2. ...
- Beginning iOS Programming
Beginning iOS Programming 2014年 published by Wrox
- socket UDP简单通讯
// // SocketUDPServerClient.m // socket_server_client // // Created by lujunjie on 2016/11/26. // Co ...
- C语言库函数,头文件
参看:https://zhidao.baidu.com/question/328173842.html 该文件包含了的C语言标准库函数的定义 stdlib.h里面定义了五种类型.一些宏和通用工具函数. ...
- QSYS系统简介
QSYS是SoPC Builder的新一代产品. QSYS系统集成工具自动生成互联逻辑,连接IP和子系统 QSYS的设计理念是提高设计抽象级,从而使机器自动生成底层代码. Altera的Avalon总 ...