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)的更多相关文章

  1. 面试题21:包含min函数的栈

    题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:google的一道面试题.我看到这道题目时,第一反应就是每次p ...

  2. mfc学习之路--如何删除通过控件新增的变量

    刚刚学校mfc的人都会遇到这样一个问题(比如我),在照做书做一个mfc程序,给控件新增变量时变量类型错了,但是变量名对了,然后想要加个正确的时候提示"已经存在该对象",然后就傻了, ...

  3. Java线程:线程栈模型与线程的变量

    Java线程:线程栈模型与线程的变量   要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型. 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶.线程栈的内容是随着程序的运 ...

  4. 【面试题021】包含min函数的栈

    [面试题021]包含min函数的栈  MinStack.cpp: 1234567891011121314151617181920212223242526272829303132333435363738 ...

  5. 使用typeid(变量或类型).name()来获取常量或变量的类型---gyy整理

    使用typeid(变量或类型).name()来获取常量或变量的类型 <typeinfo>  该头文件包含运行时类型识别(在执行时确定数据类型)的类 typeid的使用   typeid操作 ...

  6. ApiPost的环境变量的定义和使用「ApiPost环境变量」

    新版的ApiPost(Chrome拓展V2.0.8+/客户端V2.2.1+)已经支持环境变量的定义和使用. 本文主要介绍ApiPost环境变量的第一课:如何定义环境变量,并如何使用它. ApiPost ...

  7. 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程

    继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...

  8. 剑指offer——面试题30:包含min函数的栈

    #include"iostream" #include"stdio.h" using namespace std; ; ; template<typena ...

  9. Eclipse里选中一个变量后,这个类里的该变量不变色了?

    Eclipse里选一个变量后,这个类里的该变量不变色了. 1.使用“Alt+Shift+O”对该提示功能的开/关切换 2.可以在以下设置选中后的文本提示颜色  window--> Prefere ...

随机推荐

  1. AQS -> AbstractQueuedSynchronizer

    前言 : 先说说这个 CLH锁: 加锁 1. 创建一个的需要获取锁的 Node 2. 通过 CAS操作 让自己 成为这个尾部的节点,然后令 设置自己的pre 3. 自旋,直到pre节点释放 释放: 1 ...

  2. POJ 1654 Area 凸包面积

    水题直接码... /********************* Template ************************/ #include <set> #include < ...

  3. 事件循环(Event Loop)

    1.什么是事件循环? JavaScript为单线程执行的,所以是从上到下依次执行,js分为两个任务,宏任务和微任务 首先执行宏任务(第一次就是执行所有的同步代码),再执行所有的微任务,执行完毕之后再次 ...

  4. 【例题 8-7 UVA - 11572】Unique Snowflakes

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 类似尺取法. 用set判断这段区间有没有重复的数字. 有的话,就把头节点的那个数字删掉,直到没有为止. [代码] /* 1.Shou ...

  5. 【SSH高速进阶】——struts2简单的实例

    近期刚刚入门struts2.这里做一个简单的struts2实例来跟大家一起学习一下. 本例实现最简单的登陆,仅包括两个页面:login.jsp 用来输入username与password:succes ...

  6. POJ 3045 Cow Acrobats (最大化最小值)

    题目链接:click here~~ [题目大意] 给你n头牛叠罗汉.每头都有自己的重量w和力量s,承受的风险数rank就是该牛上面全部牛的总重量减去该牛自身的力量,题目要求设计一个方案使得全部牛里面风 ...

  7. 杭电1102 Constructing Roads

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  8. phalcon之视图缓存

    phalcon官方站点上的视图缓存用法根本就是不通的 现提供一种行的通的方法例如以下: public function testAction() { if( $this->view->ge ...

  9. 【Python】用Python的“结巴”模块进行分词

    之前都是用计算所的分词工具进行分词,效果不错可是比較麻烦,近期開始用Python的"结巴"模块进行分词,感觉很方便.这里将我写的一些小程序分享给大家,希望对大家有所帮助. 以下这个 ...

  10. web service 原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...