1. echo(), print(), print_r()的区别?

echo是PHP语言结构, print和print_r是函数。语言结构没有返回值,函数可以有返回值(即便没有用)  。

print()      只能打印出简单类型变量的值(如int,string)

print_r() 可以打印出复杂类型变量的值(如数组,对象)

echo        输出一个或者多个字符串

2. 语句include和require的区别是什么?为避免多次包含同一个文件,可用(?)语句代替?

require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。

include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

可用require_once()和include_once()替换。

3. 请说明php中传值与传引用的区别,什么时候传值,什么时候传引用?

按值传递:  函数范围内对值的任何改变在函数外部都会被忽略;

按引用传递: 函数范围内对值的任何改变在函数外部也能反映出这些修改。

优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

按引用传递则不需要复制值,对于性能提高很有好处。

4. SQL查询语句如下:select * from table where (ID=10) or (ID=32) or (ID=22) or (ID=76) or (ID=13) or (ID=44),让结果按10,32,22,76,13,44的顺序检索出来,请问如些书写?

select *from table

where id in(10,32,22,76,13,44)

order by instr(',10,32,22,76,13,44,', ','+id+',')

5. Javascript中如何检测一个变量是一个string类型?请写出函数实现String类型的两种方式。

String类型有两种生成方式:

(1)Var str = “hello world”;

(2)Var str2 = new String(“hello world”);

1 functionIsString(str){2 return (typeof str == "string" || str.constructor == String);3 }4 var str = "";5 alert(IsString(1));6 alert(IsString(str));7 alert(IsString(new String(str)));

6. document.write和innerHTML的区别?

document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open。每次写完关闭之后重新调用该函数,会导致页面被重写。 innerHTML则是DOM页面元素的一个属性,代表该元素的html内容。你可以精确到某一个具体的元素来进行更改。如果想修改document的内容,则需要修改document.documentElement.innerElement。 innerHTML将内容写入某个DOM节点,不会导致页面全部重绘 innerHTML很多情况下都优于document.write,其原因在于其允许更精确的控制要刷新页面的那一个部分。

7. 写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个一维数组。

1 <?php2 /**3 * 排序类4 */

5 class Sort{6 /*

7 * 冒泡排序 小到大8 */

9 public function bubble_sort( $array) {10 $count = count( $array);11 if ( $count <= 0)12 return false;13 for ( $i = 0; $i < $count; $i++) {14 for ( $j = 1; $j <= $count - $i - 1; $j++) {15 if ( $array[$j] < $array[$j - 1] ) {16 $tmp = $array[$j];17 $array[$j] = $array[$j - 1];18 $array[$j - 1] = $tmp;19 }20 }21 }22 return $array;23 }24

25

26 /**27 * 快速排序28 */

29 public function quick_sort( $arr) {30 $len = count( $arr);31 if ( $len <= 1)32 return $arr;33 $key = $arr[0];34 $left_arr = $right_arr = array();35 for ( $i = 1; $i < $len; $i++) {36 if ( $arr[$i] <= $key)37 $left_arr[] = $arr[$i];38 else

39 $right_arr[] = $arr[$i];40 }41 $left_arr = $this->quick_sort( $left_arr);42 $right_arr = $this->quick_sort( $right_arr);43 return array_merge( $left_arr, array( $key ), $right_arr);44 }45

46

47 /**48 * 希尔排序49 */

50 public function shell_sort( $datas) {51 //分组

52 for ( $increment = count( $datas ) / 2; $increment > 0; $increment = $increment / 2) {53 //每个组内排序

54 for ( $i = $increment; $i < count( $datas ); $i++) {55 $temp = $datas[$i];56 $j = 0;57 for ( $j = $i; $j >= $increment; $j = $j - $increment) {58 if ( $temp < $datas[$j - $increment] ) {59 $datas[$j] = $datas[$j - $increment];60 } else{61 break;62 }63 }64 $datas[$j] = $temp;65 }66 }67 return $datas;68 }69 }70 ?>

按值传递时 php必须复制值,PHP开发笔试题及答案(一)相关推荐

  1. 按值传递时 php必须复制值,PHP笔试题汇总

    1.抓取远程图片到本地,你会用什么函数? fsockopen, A 2.用最少的代码写一个求3值最大值的函数. function($a,$b,$c){ * return $a>$b? ($a&g ...

  2. 百度2015校园招聘软件开发笔试题及答案

    简单题(本题共30分) 请简述Tcp-ip的3次握手以及4次挥手过程?并解释为何关闭连接需要4次挥手(10分) 详细答案参见TCP/IP协议三次握手与四次握手流程解析 TCP三次握手.四次挥手过程如下 ...

  3. Java中级开发笔试题及答案,最全指南

    JAVA基础 JAVA异常分类及处理 异常分类 异常的处理方式 Throw和throws的区别 JAVA反射 动态语言 反射机制概念 (运行状态中知道类所有的属性和方法) Java反射API 反射使用 ...

  4. 前端开发面试题及答案整理

    前端开发面试题及答案整理 文章目录 一些开放性题目 position的值, relative和absolute分别是相对于谁进行定位的? 如何解决跨域问题 XML和JSON的区别? 谈谈你对webpa ...

  5. 【腾讯笔试题】2019年腾讯实习正式批移动端开发笔试题

    2019年腾讯实习正式批移动端开发笔试题 说明 不定项选择题 编程题 1.小Q与橙汁 题目描述 输入描述 输出描述 示例1 输入 输出 示例2 输入 输出 2.打怪兽 题目描述 输入描述 输出描述 示 ...

  6. 某公司iOS开发笔试题

    参考答案不唯一,大家可以根据自己的理解回答,没有必要跟笔者的一样.参考笔者的答案,也许给你带来灵感! 1.对数组中的元素去重复 例如: NSArray *array = @[@"12-11& ...

  7. 2015 4399校园招聘游戏开发笔试题

    http://gointernetgo.com/textinterview/other/4399yxbs 2015 4399校园招聘游戏开发笔试题 2014-10-19 • 其它 • 0 条评论 •2 ...

  8. 小米2019秋招系统软件开发笔试题详解

    小米2019秋招系统软件开发笔试题详解 兄弟们,给大家个题目玩一玩,题目如下: @ 在游戏Dota2中,有一位非常强大的英雄卡尔,他有三种属性:冰.火.雷.同时卡尔身上有三个无顺序的属性槽,他可以从三 ...

  9. 腾讯后台开发面试题及答案

    简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp. 文件描述符的操作(如: open)返回的是一个文件描述符,内核会在 ...

  10. 前端开发面试题和答案

    [HTML && CSS] 1.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 首先我讲讲如何触发两种模式: 加入xml头部声明可以触发IE浏览器的Qui ...

最新文章

  1. Qt 第二章 创建对话框--纯代码实现改变形状的对话框(二)
  2. 面试官:讲讲Spring框架Bean的加载过程
  3. 【Spring框架家族】SpringBoot自动配置基本实现
  4. python基础教程:修改Python列表中元素的几种方法
  5. debian 8 mysql_在Debian 8系统安装 nginx + php + mysql(MariaDB) 基本Web环境
  6. stm32超声波测距代码_超声波模块另类用法,悬浮,你也能做到
  7. 利用iTextSharp填写中文(中日韩)PDF表单(完整解决方案)
  8. 无法启用Windows Hello-某些设置由您的组织管理
  9. java线程同步re_Java线程:线程的同步
  10. SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
  11. 【换句话说】【等价描述】—— 定义及概念的不同描述
  12. 一个简单的WeakList的实现
  13. NP实验-1 华为MSTP+VRRP练习题
  14. java验证身份证号码的合格性
  15. 在RK3066/RK3188电视棒上安装ubuntu(MK802III/MK808B/MK809/MK908/UG802/QC802
  16. Day01-python编程基础
  17. Docker 书籍在线阅读(Docker 从入门到实践)
  18. 高德地图轨迹回放功能
  19. PHP代码审计--百家CMS4.1.4项目实战(下)
  20. Python 讲堂 parse_args()详解

热门文章

  1. Matlab中冒号“:“的使用方法
  2. 安装 | Android studio 3.5.2安装教程
  3. Android【报错】android.content.ActivityNotFoundException:activity in yourAndroidManifest.?
  4. 7-11 求链式线性表的倒数第K项 (20 分)
  5. 2014/08/31 Zushi
  6. 搭建Hadoop集群
  7. DEV控件ASPxTextBox设置ClientEnabled=false之后出现的问题
  8. 省选专练[HNOI2015]菜肴制作
  9. Confluence或JIRA验证码乱码的问题
  10. HPU--1392 分隔A+B