请写出以下html标签的含义:
input
form
script
style
table
b
img
============================================================标签
用于搜集用户信息。
根据不同的type属性值,输入字段拥有很多种形式。
输入字段可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等等。
============================================================
标签用于为用户输入创建HTML表单。表单能够包含input元素,
比如文本字段、复选框、单选框、提交按钮等等。
============================================================
用于定义客户端脚本,
比如JavaScript。
script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件。
用于为HTML文档定义样式信息。
定义HTML表格。简单的HTML表格由table元素以及一个或多个tr、th或td元素组成。
呈现粗体文本效果。
元素向网页中嵌入一幅图像。
14.用css、html编写一个两列布局的网页,右侧固定宽度200px,左侧自适应
html页面
css页面#wrap {*zoom:1;position: relative;}
#sidebar {width: 200px;float:right;border:1px solid #CCC;}
#content {margin-left:-210px;float:left;width:100%;}
#contentb {margin-left:210px;border: 1px solid #CCC;height:240px;}
#footer {border:1px solid #CCC;margin-top:10px;clear:both;}
JavaScript部分
1.JS表单弹出对话框函数是?获得输入焦点函数是?弹出对话框函数:
alert(),
prompt(),
confirm()
获得输入焦点函数:
focus()
2.JS的转向函数是?怎么引入一个外部JS文件?转向使用
window.location.href=""
引入外部js使用
3.解释下面语句的意思:document.form["formName"].submit获取name为formName的表单并将该表单数据提交到服务器。但这行代码是不能运行的,有两处错误,
一是通过表单名称来获取表单得到时候,应该写成document.forms[‘formName’],
二是提交表单事件使用submit方法
例如:document.forms['login'].submit()
4.有下面语句:编写代码,
当鼠标划过文本框,自动选中文本框中的内容。
function mOver(n)
{
obj =document.getElementById(n);
//obj.focus();
obj.select();
}
5.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。
主窗口
新窗口
var a1 = document.getElementById('a1');
a1.onclick = function(){
window.open("result.php","new","location=no,toolbar=no");
return false;
}
弹出全屏窗口
opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用。html>
你好,世界!
var btn = document.getElementById("btn");
var message = document.getElementById("m1");
btn.οnclick=function(){
var div =window.opener.document.getElementById("msg");
div.innerHTML=message.value;
window.close();
}
8.用JavaScript写一个函数,其功能是可以删除数组中重复的元素。
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
slice() 方法可从已有的数组中返回选定的元素。
function unique(arr){
var result= arr;
for(var i=0;i
for(var j=0;j
temp =arr[i];
if((i+j+1)
result.splice(i+j+1,1);
}
}
}
return result;
}
var a = [2,4,3,8,5,33,8,4,false,'',{}];
var b = unique(a);
alert(b);
12.如何添加html元素的事件,有几种方法,举例(1).直接作为元素的属性,如
(2).使用DOM 0级事件,简单,兼容性好,如img.οnclick=function(){}
(3).使用DOM 2级事件,功能更强大,在非IE等标准浏览其中,
使用addEventListener,在IE浏览器中则使用attachEvent来实现。
13.JavaScript能否定义二维数组,如果不能你如何解决?JavaScript不支持二维数组定义,可以用arr[0]=newarray()来解决。
14.假设a.html和b.html在同一个文件夹下面,用JavaScript实现当打开a.html
五秒钟后,自动跳转到b.html。
function gotoB(){
window.location.href="http://www.baidu.com";
window.close();
}
setTimeout("gotoB()",5000);//设置5秒跳转
15.请使用JavaScript写出三种产生一个p_w_picpath标签的方法(提示:从方法、对象、HTML角度考虑)(1).var img=new Image();
(2).var img=document.createElement("p_w_picpath")
(3).img.innerHTML=""
16.js中网页前进和后退的代码前进:history.forward();或者history.go(1);
后退:history.back();或者history.go(-1);
17.请写出一条至少3个节点的DOM树
var div = document.createElement("div");
var a = document.createElement("a");
a.href="http://www.baidu.com";
var span=document.createElement("span");
span.innerHTML="百度";
a.appendChild(span);
div.appendChild(a);
document.body.appendChild(div);
18.实现点击按钮弹出窗口的代码
document.getElementById("btn").οnclick=function (){
window.open("http://www.baidu.com");
//document.write("ok");
};
19.JavaScript包括那些基本数据类型?JavaScript中包括5种基本数据类型,分别是Number,String,Boolean,Null和Undefined。
PHP语言基础
1.strlen()与mb_strlen()的作用分别是什么
strlen和mb_strlen都是用于获取字符串长度的,
其中strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数,
如果是多字节编码,如gbk和utf8,使用strlen得到的不是字符的个数,而是该字符的总字节数,
可以使用mb_strlen获取其字符个数,
使用mb_strlen要注意两点,
一是要开启mbstring扩展,
二是要指定字符集。
相关题目1:实现中文字串截取无乱码的方法。<?php
header('Content-Type:text/html;charset=utf-8');
$str = 'i love u';
echo strlen($str);//8
$str1 = "津沙港湾";
echo strlen($str1);//12
echo mb_strlen($str1);//12
echo mb_strlen($str1,'utf-8');//4
//直接使用内置php函数mb_substr()
echo mb_substr($str1, 1,2,'utf-8');
//自定义函数截取中文字符
function substr_utf8($str,$start,$length=null){
return implode("", array_slice(preg_split("//u", $str,-1,PREG_SPLIT_NO_EMPTY), $start,$length));
}
echo substr_utf8($str1, 1);
?>
如何求解字符串“中国2北333京”的字符数(一个中文一个字符),并找到第四个字符“北”//方法一,使用php内置函数,确保配置中已打开mbstring扩展
header('Content-Type:text/html;charset=utf-8');
$str1 = "中国2北333京";
echo mb_strlen($str1,'utf-8');
echo mb_substr($str1, 3,1,'utf-8');
?>
4.写出下列几个预定义全局变量的作用$_SERVER['DOCUMENT_ROOT']//当前运行脚本所在的文档根目录
$_SERVER['HTTP_HOST']//当前请求的Host:头部的内容
$_SERVER['REMOTE_ADDR']//正在浏览当前页面用户的IP地址
$_SERVER['HTTP_REFERER']//链接到当前页面的前一页面的URL地址
$_SERVER['SERVER_NAME']//当前运行脚本所在服务器主机的名称
$_FILES//包含有所有上传的文件信息
S_FILES['userfile']['name']//客户端机器文件的原名称
$_FILES['userfile']['type']//文件MIME类型,如果浏览器提供此信息的话,如“p_w_picpath/gif”。
$_FILES['userfile']['size']//已上传文件的大小,单位为字节
$_FILES['userfile']['tmp_name']//文件被上传后在服务端储存的临时文件名
$_FILES['userfile']['error']//和该文件上传相关的错误代码
5.include和require都能把另外一个文件包含到当前文件中,他们有什么区别?
include和include_once又有什么区别?二者区别只有一个,那就是对包含文件的需求程度,
include就是包含,
如果被包含的文件不存在的话,那么则会提示一个错误,但是程序会继续执行下去。
require意思是需要,
如果被包含文件不存在或者无法打开的时候,则会提示错误,并且会终止程序的执行。
这两种结构除了在如何处理失败之外完全一样。
在如何处理失败时,
include()产生一个警告
require()则导致一个致命错误
once的意思是一次,那么include_once和require_once表示只包含一次,避免重复包含。
6.用最少的代码写一个求3值最大值的函数<?php
header('Content-Type:text/html;charset=utf-8');
function maxt($a,$b,$c){
//return $a>$b?($a>$c?$a:$c):($b>$c?$b:$c);
return ($a>$b?$a:$b)>$c?($a>$b?$a:$b):$c;
}
echo maxt(3,-2,122);
?>
7.简述POST和GET传输的最大容量分别是多少?POST根据你php.ini文件配置(默认是8M)
GET的话大小限制在2KB
表单中get与post提交方法的区别?get是发送请求HTTP协议通过url参数传递进行接收,
post是实体数据,可以通过表单提交大量信息。
9.echo(),print(),print_r() printf()的区别?echo
是一个语言结构,输出一个或多个字符串;
print()
实际上不是一个函数(它是一个语言结构),
因此你可以不必使用圆括号来括起它的参数列表,它输出一个字符串;
print_r()
是一个函数,打印变量的信息,基本类型,数组,对象。
printf — 输出格式化字符串
在实际使用中, print 和 echo 两者的功能几乎是完全一样。
可以这么说,凡是有一个可以使用的地方,另一个也可以使用。
但是,两者之间也还是一个非常重要的区别:
在 echo 函数中,可以同时输出多个字符串,
而在 print 函数中则只可以同时输出一个字符串。
同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。他们的区别在于:
(1) echo可以输出多个字符串,像下面这样:
echo 'a','b','c';
如果你非要加上圆括号,
注意写成 echo ('a','b','c');是错误的,
应该写成:echo ('a'),('b'),('c');
它没有像函数的行为,所以不能用于函数的上下文
(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:
$ret = print 'Hello World';
所有它能用在更复杂的表达式中。
另外,echo的效率相对比较快~
如下代码:
$a='hello ';
$b='php world!';
echo $a,$b.'
';
//echo 可以用逗号分隔字符串变量来显示print $a.$b.'
';
//而print不能使用逗号,只能用点号分隔,print $a,$b.'
';//使用逗号时报错。
?>
echo 命令和 print 命令 相同,没有区别
echo 函数 和 print 函数 有区别。
echo() 无返回值,与echo 命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和 sprintf() 类似,
均为格式化输出,不同的是
前者输出到标准输出,
后者输出到变量
echo与print在使用逗号和点号区别<?php
header('Content-Type:text/html;charset=utf-8');
$a = 9;
$b = 10;
echo $a.$b;
echo $a,$b;
print $a.$b;
//print $a,$b;//这个逗号不行,会报错
10.用PHP打印出前一天的时间格式是2006-5-10 22:21:21<?php
header('Content-Type:text/html;charset=utf-8');
echo date('Y-m-d H:i:s',time()-3600*24);//方法一
echo '
';
echo date('Y-m-d H:i:s',strtotime('-1 day'));//方法二
求两个日期的差数,例如2009-3-1~2009-4-4的日期差数<?php
header('Content-Type:text/html;charset=utf-8');
echo (strtotime("2009-4-4")-strtotime("2009-3-1"))/(3600*24);
11.不使用第三个变量交换两个变量的值substr()方法<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符串类型
$a = 'abc';
$b = 'efg';
$a .=$b;
//substr()方法
$b = substr($a, 0,(strlen($a)-strlen($b)));
$a = substr($a,Strlen($b));
echo $a;
echo '
';
echo $b;
2.str_replace()方法<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符串类型
$a = 'abc';
$b = 'efg';
$a .=$b;
//str_replace()方法
$b = str_replace($b, "", $a);
$a = str_replace($b, "", $a);
echo $a;
echo '
';
echo $b;
3.list()和array()方法<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符串类型
$a = 'abc';
$b = 'efg';
//list()和array()方法
list($b,$a)=array($a,$b);
echo $a;
echo '
';
echo $b;
4.字符串和数字都适用 使用异或运算<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符串和数字都适用
$a = 'abc';
$b = 'efg';
//异或方法
$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;
echo $a;
echo '
';
echo $b;
5.只适用于数字<?php
header('Content-Type:text/html;charset=utf-8');
//变量是数字类型
$a = 5;
$b = 6;
$a = $a +$b;
$b = $a - $b;
$a = $a - $b;
echo $a;
echo '
';
echo $b;
6.利用explode()方法<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符和数字类型
$a = '津沙港湾2016';
$b = '崎沙火山岛0915';
$a = base64_encode($a);
$b = base64_encode($b);
$a = $a.'&'.$b;
$b = explode('&', $a);
$a = base64_decode($b[1]);
$b = base64_decode($b[0]);
echo $a;
echo '
';
echo $b;
12.请说明php中传值与传引用的区别。什么时候传值什么时候传引用?变量默认总是传值赋值。
那也就是说,
当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。
这意味着,
例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。
PHP也提供了另外一种方式给变量赋值:引用赋值。
这意味着新的变量简单的引用(换言之,“成为其别名”或者“指向”)了原始变量。
改动新的变量将影响到原始变量,反之亦然。
使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量)。
对象默认是传引用。
对于较大的数据,传引用比较好,这样可以节省内存的开销。
13.将1234567890转换成1,234,567,890每3位用逗号隔开的形式。
方法一用php内置函数<?php
header('Content-Type:text/html;charset=utf-8');
$a = '1234567890';
echo number_format($a);
方法二自定义函数<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符和数字类型
$a = '1234567890';
function nformat($str){
$n = ''; //临时变量
$m = strlen($str); //获取字符串长度
$k = $m % 3;
// echo $k."
";
for($i=0;$i
if($i%3==$k &&$i!=0){
$n .= ",";
}
$n .= $str{$i};
}
return $n;
}
echo nformat($a);
方法三chunk_split()方法 这个方法处理不了中文字符串<?php
header('Content-Type:text/html;charset=utf-8');
//变量是字符和数字类型
$a = '1234567890ssvm';
function nformat($str){
$str = strrev($str);
$str = chunk_split($str,3,',');
echo $str.'
';
$str = strrev($str);
$str = ltrim($str,',');
return $str;
}
echo nformat($a);
方法四转成数组 使用中文字符串<?php
header("content-type:text/html;charset=utf-8");
/**
此函数的作用是适用中文字符串加千分号
*/
function nformat($str){
//判断输入的是不是utf8类型的字符,否则退出
if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
exit("输入类型不是UTF8类型的字符串");
}
$array=array();
//将字符串存入数组
$l=mb_strlen($str,'UTF-8');
for($i=0;$i
$array[]=mb_substr($str,$i,1,'UTF-8');
}
$n = ''; //临时变量
$m = count($array); //获取数组长度
$k = $m % 3;
for($i=0;$i
if($i%3==$k &&$i!=0){
$n[]= ",";
$n[]=$array[$i];
continue;
}
$n[]=$array[$i];
}
$string = implode($n);
return $string;
}
$str = "1234adfadaf×××";
echo nformat($str);
翻转中文字符串<?php
header("content-type:text/html;charset=utf-8");
/**
此函数的作用是反转中文字符串
mb_strlen() 获取字符的长度
mb_substr() 获取字符的单个元素
krsort() 按照键值逆序排序数组
implode() 将数组拼接为字符串
explode() 使用字符串分隔字符串
*/
function str_rev_gb($str){
//判断输入的是不是utf8类型的字符,否则退出
if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
exit("输入类型不是UTF8类型的字符串");
}
$array=array();
//将字符串存入数组
$l=mb_strlen($str,'UTF-8');
for($i=0;$i
$array[]=mb_substr($str,$i,1,'UTF-8');
}
//反转字符串
$a=krsort($array);
//拼接字符串
$string=implode($array);
return $string;
}
$str1 = "Englist";
$str2 = "English中国";
$str3 = "Eng中lish国";
$str4 = "×××";
echo $str1."->".str_rev_gb($str1)."
";
echo $str2."->".str_rev_gb($str2)."
";
echo $str3."->".str_rev_gb($str3)."
";
echo $str4."->".str_rev_gb($str4)."
";
14.用PHP写出显示客户端IP与服务器IP的代码。客户端IP:$_SERVER["REMOTE_ADDR"]
服务器端IP:$_SERVER["SERVER_ADDR"]
15.简述如何得到当前执行脚本路径,包括所得到参数。获取当前执行脚本路径使用$_SERVER["SCRIPT_FILENAME"]或__FILE__
获取参数,使用$_SERVER["QUERY_STRING"]
16.What is the difference between foo() & @foo()?foo()
会执行这个函式,任何解译错误、语法错误、执行错误都会在页面上显示出来。
@foo()
在执行这个函式时,会隐藏所有上述的错误讯息。
很多应用程序都使用@mysql_connect()和@mysql_query来隐藏mysql的错误信息,
这是不对的,因为错误不该被隐藏,你必须妥善处理它们,可能的话解决它们。
18.检测一个变量是否有设置的函数是否?是否为空的函数是?isset
检测一个变量是否设置
empty
检测是否为空
注意二者的区别,
如果变量是非空或非零的值,则empty()返回FALSE。
换句话说,
""、0、"0"、NULL、FALSE、array()以及没有任何属性的对象都将被认为是空的。
null $var未定义
对于isset为false
对于empty为true
19.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量______中;而链接到当前页面的的前一页面URL记录在预定义变量______中。当前脚本名称:$_SERVER["PHP_SELF"]或者$_SERVER["SCRIPT_NAME"];
链接到当前页面的前一页面的URL地址:$_SERVER["HTTP_REFERER"]。
20.sort()、asort()、和ksort()有什么分别?它们分别在什么情况下使用?1 sort($arr); //由小到大,忽略键名
2 rsort($arr); //由大到小,忽略键名
3 asort($arr); //由小到大,保留键名
4 arsort($arr); // 由大到小,保留键名
5 ksort($arr); //按照键名正序排序
6 krsort($arr); // 按照键名逆序排序
sort — 对数组排序
根据数组中元素的值,以英文字母顺序排序,索引键会由0到n-1重新编号。
主要是当数组索引键的值无关紧要时用来把数组排序。
rsort — 对数组逆向排序
rsort函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。
asort — 对数组进行排序并保持索引关系
asort函数对数组进行排序,数组的索引保持和单元的关联。
arsort — 对数组进行逆向排序并保持索引关系
arsort函数对数组进行排序,数组的索引保持和单元的关联。
ksort — 对数组按照键名排序
对数组按照键名排序,保留键名到数据的关联
krsort — 对数组按照键名逆向排序
对数组按照键名逆向排序,保留键名到数据的关联。
21.在PHP中error_reporting这个函数有什么作用?打开或者关闭错误报告,
如:
error_reporting(0);// 关闭所有PHP错误报告
error_reporting(E_ALL&~E_NOTICE);
error_reporting(E_ALL);
error_reporting(2047)什么作用?2047=1+2+4+8+16+32+64+128+256+512+1024
其中,
1对应E_ERROR,
2对应E_WARNING,
4对应E_PARSE,
8对应E_NOTICE,
16对应E_CORE_ERROR,
32对应E_CORE_WARNING,
64对应E_COMPILE_ERROR,
128对应E_COMPILE_WARNING,
256对应E_USER_ERROR,
512对应E_USER_WARNING,
1024对应E_USER_NOTICE。
error_reporting(2047)意味着上述错误都会显示出来。
23.常量如何定义?如何检测一个常量是否被定义?定义常量:define(), const
检测常量是否定义:defined(),
如
define("TEST","happynewyear!");
if(defined("TEST")){
echoTEST;
}
const YHY = 'yangyihai';
24.执行程序段<?php echo 8%(-2) ?>将输出%为取模运算,输出0
$a%$b其结果的正负取决于$a的符号。
echo((-8)%3)."
";//输出-2
echo(8%(-3))."
";//输出2
25.数组函数arsort的作用是____;语句error_reporting(2047)的作用是____。arsort:对数组进行逆向排序并保持索引关系
error_reporting(2047)的作用reportAllerrorsandwarnings,见21题中相关题目。
26.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHPHP
P模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。LoadModule php5_module "c:/php/php5apache2.dll";
AddType application/x-httpd-php.php
27.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.allow_call_time_pass_reference:是否启用在函数调用时强制参数被按照引用传递,默认关闭
28.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____顶格写,并且不能包含任何其它字符除";"
如:
$str = <<
my name is Jiang Qihui!
SHOW;
heredoc
echo <<主页
EOT;
nowdoc
$str = <<
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;
nowdoc结构,其用法和heredoc相同,
不同的是Nowdoc 结构是类似于单引号字符串的。
nowdoc 中不进行解析操作。
这种结构很适合用于嵌入 PHP 代码或其它大段文本而无需对其中的特殊字符进行转义。
29.echo count("abc");输出什么?输出 1
count:计算数组中的单元数目或对象中的属性个数,通常是一个array,
任何其它类型都只有一个单元。
对于对象,如果安装了SPL,可以通过实现Countable接口来调用count()。
该接口只有一个方法count(),此方法返回count()函数的返回值。
如果var不是数组类型或者实现了Countable接口的对象,将返回1,
有一个例外,如果var是NULL则结果是0。
What will be the output of the following PHP code:<?php
echo count(strlen("
?>
answer:1
30.写个函数用来对二维数组排序<?php
header("content-type:text/html;charset=utf-8");
function array_sort($arr,$row,$type='asc'){
$arr_temp = array();
//将排序依据列作为数组的键名
foreach($arr as $value){
$arr_temp[$value[$row]] = $value;
}
//按照键名对数组排序,保持索引关系
if($type == 'asc'){
ksort($arr_temp);
}elseif($type == 'desc'){
krsort($arr_temp);
}
return $arr_temp;
}
$person = array(
array('id'=>2,'name'=>'yang','age'=>20),
array('id'=>43,'name'=>'wang','age'=>30),
array('id'=>22,'name'=>'lang','age'=>60)
);
$person = array_sort($person, 'name');
var_dump($person);
输出结果array (size=3)
'lang' =>
array (size=3)
'id' => int 22
'name' => string 'lang' (length=4)
'age' => int 60
'wang' =>
array (size=3)
'id' => int 43
'name' => string 'wang' (length=4)
'age' => int 30
'yang' =>
array (size=3)
'id' => int 2
'name' => string 'yang' (length=4)
'age' => int 20
31.写5个不同的自己的函数,来获取一个全路径的文件的扩展名,允许封装php库中已有的函数。<?php
header("content-type:text/html;charset=utf-8");
//echo __FILE__;
$path = str_replace('\\', '/', __FILE__);
function ext_one($path){
return substr(strrchr($path, '.'),1);
}
echo ext_one($path);
function ext_two($path){
return substr($path,strrpos($path, '.')+1);
}
echo ext_two($path);
function ext_three($path){
$path_parts = pathinfo($path);
return $path_parts['extension'];
}
echo ext_three($path);
function ext_four($path){
$arr = explode('.',$path);
return $arr[count($arr)-1];
}
echo ext_four($path);
function ext_five($path){
$pattern = '/^[^\.]+\.([\w]+)$/';
return preg_replace($pattern, '${1}', basename($path));
}
echo ext_five($path);
32.PHP的意思,它能干些什么?PHP(HypertextPreprocessor,超文本预处理器的字母缩写)
是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。
PHP能做任何事。
PHP主要是用于服务端的脚本程序,
因此可以用PHP来完成任何其它的CGI程序能够完成的工作,
例如收集表单数据,生成动态网页,或者发送/接收Cookies。但PHP的功能远不局限于此。
PHP脚本主要用于以下三个领域:
1)服务端脚本。这是PHP最传统,也是最主要的目标领域。
2)命令行脚本。可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。
通过这种方式,仅仅只需要PHP解析器来执行。
3)编写桌面应用程序。
Name a few ways to output (print) a block of HTML code in PHP?你可以使用PHP中任何一种输出语句,包括echo、print、printf,
大部分人都使用如下例的echo:
echo "My string $variable";你也可以使用这种方法:
echo <<
This text is written to the screen as output and this $variable is parsed too.
If you wanted you can have HTML tags in here as well.The END;remarks must
be on a line of its own,and can't contain any extra white space.
END;
35.$arr=array('james','tom','symfony');
请打印出第一个元素的值,并请将数组的值用','号分隔并合并成字串输出。<?php
header("content-type:text/html;charset=utf-8");
$arr=array('james','tom','symfony');
echo $arr[0];
$str = implode(',', $arr);
echo $str;
36.$a='abcdef';请取出$a的值并打印出第一个字母<?php
header("content-type:text/html;charset=utf-8");
$a='abcdef';
echo $a;
echo '
';
echo $a{0};
echo '
';
echo $a[0];
37.What does===do?What's an example of something that will give true for '==',but not'==='?===表示全等,是指的两个变量的值和类型都相等。
如if(strpos('abc','a')==false)和if(strpos('abc','a')===false)<?php
header("content-type:text/html;charset=utf-8");
$text='Content-Type:text/xml';
print substr($text,strpos($text,':')+1);
print substr(strstr($text,':'),1);
print substr(strchr($text,':'),1);
46.将字符09转换成十进制数字。使用intval函数,echo intval("09"),
使用int强制类型转换。(float)'09'
47.请写一个函数,实现以下功能:字符串"open_door"转换成"OpenDoor"、"make_by_id"转换成"MakeById"。<?php
header("content-type:text/html;charset=utf-8");
function changeStr($str){
$str = explode('_',$str);
$str = array_map('ucfirst', $str);
return implode($str);
}
$str = 'make_by_id';
echo changeStr($str);
48.要求写一段程序,实现以下数组$arr1转换成数组$arr2:
$arr1$arr1 = array(
'0' => array('fid' =>1, 'tid' => 1, 'name' => 'Name1'),
'1' => array('fid' =>1, 'tid' => 2, 'name' => 'Name2'),
'2' => array('fid' =>1, 'tid' => 5, 'name' => 'Name3'),
'3' => array('fid' =>1, 'tid' => 7, 'name' => 'Name4'),
'4' => array('fid' =>3, 'tid' => 9, 'name' => 'Name5')
);
$arr2$arr2 = array(
'0' => array(
'0' => array('tid' =>1,'name'=>'Name1'),
'1' => array('tid' =>2,'name'=>'Name2'),
'2' => array('tid' =>5,'name'=>'Name3'),
'3' => array('tid' =>7,'name'=>'Name4'),
),
'1' => array(
'0' => array('tid' =>9,'name'=>'Name5'),
)
);
实现函数<?php
header("content-type:text/html;charset=utf-8");
$arr1 = array(
'0' => array('fid' =>1, 'tid' => 1, 'name' => 'Name1'),
'1' => array('fid' =>1, 'tid' => 2, 'name' => 'Name2'),
'2' => array('fid' =>1, 'tid' => 5, 'name' => 'Name3'),
'3' => array('fid' =>1, 'tid' => 7, 'name' => 'Name4'),
'4' => array('fid' =>3, 'tid' => 9, 'name' => 'Name5')
);
function changStr($arr){
foreach($arr as $val){
$tmp = $val;
array_shift($val);
$result[$tmp['fid']][]=$val;
}
return array_values($result);
}
$arr3 = changStr($arr1);
var_dump($arr3);
输出界面array (size=2)
0 =>
array (size=4)
0 =>
array (size=2)
'tid' => int 1
'name' => string 'Name1' (length=5)
1 =>
array (size=2)
'tid' => int 2
'name' => string 'Name2' (length=5)
2 =>
array (size=2)
'tid' => int 5
'name' => string 'Name3' (length=5)
3 =>
array (size=2)
'tid' => int 7
'name' => string 'Name4' (length=5)
1 =>
array (size=1)
0 =>
array (size=2)
'tid' => int 9
'name' => string 'Name5' (length=5)
50.$val=max('string',array(2,5,7),42);$val值为array(2,5,7)<?php
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// When 'hello' is cast as integer it will be 0. Both the parameters are equally
// long, so the order they are given in determines the result
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
echo max('42', 3); // '42'
// Here 0 > -1, so 'hello' is the return value.
echo max(-1, 'hello'); // hello
// With multiple arrays of different lengths, max returns the longest
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// 对多个数组,max 从左向右比较。
// 因此在本例中:2 == 2,但 4
$val = max(array(2, 4, 8), array(2, 5, 7)); // array(2, 5, 7)
// 如果同时给出数组和非数组作为参数,则总是将数组视为
// 最大值返回
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
51.定义常量MYPI=3.14_________________________;define("MYPI",3.14);
52.简述单引号和双引号的用法双引号串中的内容可以被解释而且替换,
单引号串中的内容总被认为是普通字符。
53.Switch完整语法和注意事项使用Switch语句可以避免冗长的if..elseif..else代码块,
case只能处理整数,或者能像整数一样运算的类型,比如char,使用时case后用'',
注意break不能少,default是为了处理一些之前没有包含到的情况,这样更为安全。
54.用PHP编写代码在页面输出当前的北京时间,格式为“2007-01-18 09:22:03”date_default_timezone_set('PRC');
echo date("Y-m-d H:i:s",time());
55.简述GBK、GB2312、BIG5、GB18030GB2312
支持的汉字较少,
GBK
是相比GB2312汉字更为丰富,包括全部中日韩汉字,
GB18030
相比GBK增加了一些少数名族汉字汉字库更为多样,但是常人很难用到,
一般简体中文使用GBK而繁体中文使用BIG5。
56.计算某段字符串中某个字符出现的次数(例如:gdfgfdgd59gmkblg中g的次数)$text='gdfgfdgd59gmkblg';
echo substr_count($text,'g');
57.以下语句可能存在错误,如果存在错误请指出什么错误(每个语句单独考虑)print_r$val=333;//error,print_r是一个函数,需加上括号,如果是print则可以
print_r($val=333);//正确$a+=($b=4)+5;//notice,$a未定义,但可以正确运行
$foo[bar]='enemy';//notice,最好bar加上引号
functionx($a="1",$b){}//无,但给参数默认值应尽量从右向左
59.写出如下程序的输出结果<?php
header("content-type:text/html;charset=utf-8");
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';//false 这个变量不为空 是一个字符串null
$a7 = array();
$a8 = array(array());//false 数组不为空 二位数组
echo empty($a1) ? 'true' : 'false';
echo empty($a2) ? 'true' : 'false';
echo empty($a3) ? 'true' : 'false';
echo empty($a4) ? 'true' : 'false';
echo empty($a5) ? 'true' : 'false';
echo empty($a6) ? 'true' : 'false';
echo empty($a7) ? 'true' : 'false';
echo empty($a8) ? 'true' : 'false';
结果为true true true true true false true false
64.$arr=array('james','tom','symfony');
请将’jackjack’’添加到$arr数组的开头,并把jack打印出来。array_unshift($arr,’jack’);
echo $arr[0];
65.$arr=array('james','tom','symfony');请将$arr数组的值用’,’分割并合并成字符串输出?$arr = explode(',',$arr);
echo implode($arr);
67.$arr=array(3,7,2,1,'d','abc');
请将$arr按照从大到小的顺序排序,并保持其键值不变?<?php
header("content-type:text/html;charset=utf-8");
$arr=array(3,7,2,1,'d','abc');
arsort($arr);
var_dump($arr);
68.$mail=“gaofei@163.com";
请将此邮箱的域(163.com)取出来并打印,看最多能写出几种方法?echo strstr($mail,'163');
echo substr($mail,7);
echo substr($mail,strpos($mail,'@')+1);
$arr=explode("@",$mail);
echo $arr[1];
69.PHP中的注释的写法,要列出三种?//
注释内容C风格的单行注释
#
注释内容unix风格的单行注释
/*注释内容*/
C风格的多行注释
70.如何在一个php函数中使用具有全局属性的变量,说出两种方式?global $a
$GLOBALS['a']
71.若$aa='aa';则print('aa is \'aa\''."
")会输出什么?aa is 'aa'
72.如何把$a=‘123’转化成123,列出两种方式?$a = '123';
$a = (int)$a;
$a = intval($a);
settype($a,'int');
1)强制类型转换:(整型)字符串变量名;
2)intval(字符串变量);
3)直接转换:settype(字符串变量,整型);
73.说说break和continue可以用在哪些语句里,并且列出二者的区别?break和continue可以用在switch语句中,或是循环结构中
它们的区别主要是体现在循环语句中,
break表示跳出整个循环,不再执行,循环将终止,
continue则表示跳出本次循环,继续下一次的循环,不会终止循环。
74.函数中的默认参数位置如何放置?当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;
否则,函数将不会按照预期的情况工作。
75.如何往一个数组后面添加一个值?列出两种方式?$arr[]=$value;
array_push($arr,$value);
76.说出数组涉及到的常用函数。array--声明一个数组
count--计算数组中的单元数目或对象中的属性个数
foreach--遍历数组
list--遍历数组
explode--将字符串转成数组
implode--将数组转成一个新字符串
array_merge--合并一个或多个数组
is_array--检查是否是数组
print_r--输出数组
sort--数组排序
array_keys--返回数组中所有的键名
array_values--返回数组中所有的值
key--从关联数组中取得键名
77.字符串的常用函数?trim()--去除字符串首尾处的空白字符(或者其他字符)
strlen()--字符串长度
substr()--截取字符串
str_replace()--替换字符串函数
substr_replace()--对指定字符串中的部分字符串进行替换
strstr()--检索字符串函数
explode()--分割字符串函数
implode()--将数组合并成字符串
str_repeat()--重复一个字符串
addslashes();--转义字符串
htmlspecialchars()--THML实体转义
78$a = '01';
$result = 1;
if(in_array($a, array('1'))){
$result = 2;
}elseif($a == '1'){
$result = 3;
}elseif($a == '01'){
$result = 4;
}else{
$result = 5;
}
echo $result;
结果为2
80.php函数名是否区分大小写不区分
函数名是大小写无关的,不过在调用函数的时候,通常使用其在定义时相同的形式。
82.翻转字符串中的单词,字符串仅包含大小写字母和空格,单词间使用空格分隔。
如:输入"This is PHP",输出"PHP is This"(非必要请不要使用PHP自带函数)<?php
header("content-type:text/html;charset=utf-8");
function reverse($str){
$arr = explode(' ', $str);
$arr = array_reverse($arr);
return implode(' ', $arr);
}
$str = 'This is PHP';
echo reverse($str);
83.请列举出你所知道的全局环境变量$_ENV;
$_SERVER;
$_REQUEST;
$_FILES;
$_SESSION;
$_COOKIE;
$_GET;
$_POST;
$GLOBALS;
84.设有这样一个数组
$a=array(
array(id=>0),
array(id=>1),
array(id=>2),
......)
id=>0-10000,请问你如何使用PHP判断id=>500是否在这个数组内?in_array()
85.<?php
header("content-type:text/html;charset=utf-8");
$a = $b =$c =0;
$a =$b &&$c;
var_dump($a);
var_dump($b);
var_dump($c);
结果boolean false
int 0
int 0