【PHP新手面试题】真的,我最恨别人改我简历了,╮(‘▽′)╭ ~!

      朋友替我投了简历,顺便觉得简历不够简洁,给我删了几个项目经历,简化了所有项目介绍,可恶的是,稀里糊涂地把我的本科院校改了,(-_-)b!

      于是,开始了信心值0的PHP职位面试,真的,PHP从来没学过,我是自然不会了,而他,这位是PHPER,竟然也不会,(‘﹏′)

ps:下面所有问题答案都来自网络

问题1:存储过程的意义

存储过程由SQL语句和流程控制语句组成。

它的功能包括:

  • 接受参数;
  • 调用另一过程;
  • 返回一个状态值给调用过程或批处理,指示调用成功或失败;
  • 返回若干个参数值给调用过程或批处理,为调用者提供动态结果;
  • 在远程SQL Server中运行等。

优势:

  • 存储过程是预编译过的,所以存储过程执行速度很快.
  • 存储过程和待处理的数据都放在同一台运行SQL Server的计算机上,使用存储过程查询当地的数据,效率自然很高
  • 存储过程一般多由Client端通过存储过程的名字进行调用,减少了网络传输量,加块系统速度.
  • 存储过程还有着如同C语言子函数那样的被调用和返回值的方便特性。

问题2:VI常用命令

区分大小写

k,j,h,l——上下左右光标移动命令

100G:光标跳到100行

CTRL+g/G:光标当行行数与列数报告

w,b:光标向前或向后跳过一个单词

i,r:光标前插入,光标处替换

cw,dw:改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete)

x,d$,dd——删除一个字符,光标所在处到行尾的所有字符,和整行的命令

/string:查找字符串,n查找下一个,N查找上一个

yy,p ——拷贝一行到剪贴板(貌似不是系统的剪贴板)/取出剪贴板中内容的命令

:r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd

:3r /etc/passwd 指在第3行的下一行:第4行读入文件内容

:w /tmp/1 临时存到/tmp/1。

:20,59w /tmp/1 仅仅把第20到59行之间的内容存盘成文件/tmp/1

再补充吧

问题3:PHP中“11”可以和整数10比吗

可以

如果比较一个整数和字符串,则字符串会被转换为整数。

如果比较两个数字字符串,则作为整数比较。

当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值:

如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值,否则就被当作整数。

该值由字符串最前面的部分决定,如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0.合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字

<?php
$foo = 1 + "10.5";  // $foo is float (11.5)
$foo = 1 + "-1.3e3";  // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";  // $foo is integer (1)
$foo = 1 + "bob3";  // $foo is integer (1)
$foo = 1 + "10 Small Pigs";  // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;  // $foo is float (11)
$foo = "10.0 pigs " + 1.0;  // $foo is float (11)
?>

<?php

if ("" == 0)
  { 
      echo "yes";//输出"yes"
  }


var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
switch ("a") {
case 0:
echo "0";
break;
case "a": // never reached because "a" is already matched with 0
echo "a";
break;
}
?>

问题4:从文本中取数据到一个表

<?php

$hostname="localhost";
$username="root";
$password="root"; 
$dbname="testphp";
$link = mysql_connect($hostname,$username,$password);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

mysql_select_db("$dbname");
$mydata=file("data.txt");
$n=count($mydate);
var_dump($n);
for($i=0;$i<$n;$i++){
$data=explode(",",$mydata[$i]);
$str="insert into entity_user values('$data[0]','$data[1]')";
$result=mysql_query($str);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

}
mysql_close();
echo "ok";
?>

data.txt:

1,yangyh
2,abcdefg
3,gdfdsfs
5,fdsgafd
6,杨

问题5:mysql中更改一列名字

alter table entity_user change  name newname varchar(50);//类型必需

 

问题6:PHP定义常量

 

define(" CONSTANT" , " Hello world." );

问题7:require require_once include include_once

 

1、include()
include(/path/to/filename)
include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。
使用include()时可以忽略括号。
可以根据条件来执行include()语句。在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用其他语句包围符括起来。

2、include_once()
include_once(filename)
include_once()函数的作用与include相同,不过它会首先验证是否已经包含了该文件。如果已经包含,则不再执行include_once。否则,则必须包含该文件。除了这一点与include完全相同。
3、require()
require(filename)
require()在很大程度上与include相同,都是将一个模板文件包含到require调用所在的位置。
require和include之间有两点重要的区别。首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件
第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行
4、require_once()
require_once(filename)
随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用require_once就可以解决这些问题。
require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略

http://dev.firnow.com/course/4_webprogram/php/phpjs/200824/98804.html

问题8:$a 与 $$a 区别

$n='a';
$a=5;
var_dump($$n);//int(5)

php到这程度了…这么取变量值都可以

posted on 2010-05-16 19:53  yangyh  阅读(812)  评论(1编辑  收藏  举报