1、有3个数字,以最少的代码获取最大值
注:这个问题主要考察的不是排序算法,而是对PHP基础的三目表达式的使用,以少量代码实现功能(相似的php中的短路写法也是这种情况($a>$b && $a=100 ))。
答:
function maxNum($a,$b,$c){
return $a > $b ? ($a > $c ? $a : $c ) : ($b > $c ? $b : $c);
}
echo maxNum(28,78,26);//78
2、PHP中有几个魔术变量,__LINE__是什么意思?
答:7个;__LINE__指的是当前行号。
FILE :文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
DIR:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
FUNCTION: 常量返回该函数被定义时的名字
CLASS:常量返回该类被定义时的名字(区分大小写)。
METHOD:类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
NAMESPACE:当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
3、cookie禁用后,session可用吗?
答:可用。
1、PHP可以通过配置php.ini中的session.use_trans_sid = 1,或者编译时打开打开了“--enable-trans-sid”选项,让PHP自动跨页传递Session ID。
2. 手动通过URL传值、隐藏表单传递Session ID。
3. 用文件、数据库等形式保存Session ID,在跨页过程中手动调用。
4、填写下面代码的输出结果
class foo {
var $bar = 'I am bar.';
var $arr = array('I am A.', 'I am B.', 'I am C.');
var $r = 'I am r.';
}
$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n"; //$bar 的值是 bar ,$foo->bar 的值是 I am bar
echo $foo->$baz[1] . "\n"; //I am bar.
$start = 'b';$end = 'ar';
echo $foo->{$start . $end} . "\n";//$start 的值是'b' ,$end 的值是'ar' ,{$start . $end}的值是 'bar',$foo->{$start . $end} 的值是'I am bar.'
$arr = 'arr';
echo $foo->$arr[1] . "\n";// $arr 的值是 'arr',这里‘arr’作为字符数组解释 ,$arr[1] 的值是 r $foo->$arr[1]的值是 'I am r.'。
echo $foo->{$arr}[1] . "\n";// 大括号界定了界限,再解释时将'arr'作为整体解释,而不再作为字符数组
5、GET和POST最大传输数据长度的大小是多少?
答:实际上,http协议中,GET和POST的传输长度都是没限制的。通常说的最大传输数据量这些限制是跟浏览器和服务器有关。
GET请求是以URL传输数据的,因此传输的最大值是跟URL的最大值相关的(下面会列出各大浏览器和服务器的限制)。如果超过服务器长度限制,可能会拒绝请求或发生不完整的请求。
POST请求的所能传递的数据量大小取决于服务器的设置和内存大小。例如PHP中,POST请求的默认最大值为2M,可以通过php.ini修改post_max_size这个值。如果上传文件,还需要修改upload_max_filesize。
浏览器对GET限制长度的大小
1、IE
IE浏览器(Microsoft Internet Explorer) 对url长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)。
2、firefox
firefox(火狐浏览器)的url长度限制为 65 536(这个数字是2的16次方,16位进制中的最大值)字符,但实际上有效的URL最大长度不少于100,000个字符。
3、chrome
chrome(谷歌)的url长度限制超过8182个字符返回本文开头时列出的错误。
4、Safari
Safari的url长度限制至少为 80 000 字符。
5、Opera
Opera 浏览器的url长度限制为190 000 字符。Opera 9 地址栏中输入190 000字符时依然能正常编辑。
服务器对GET限制长度的大小:
1、Apache
Apache能接受url长度限制为8 192 (8k)字符
2、IIS
Microsoft Internet Information Server(IIS)能接受url长度限制为16 384个字符。
这个是可以通过修改的(IIS7)。
3、Perl HTTP::Daemon
Perl HTTP::Daemon 至少可以接受url长度限制为8000字符。Perl HTTP::Daemon中限制HTTP request headers的总长度不超过16 384字节(不包括post,file uploads等)。但当url超过8000字符时会返回413错误。
这个限制可以被修改,在Daemon.pm查找16×1024并更改成更大的值。
4、ngnix
可以通过修改配置来改变url请求串的url长度限制。
client_header_buffer_size 默认值:client_header_buffer_size 1k
large_client_header_buffers默认值 :large_client_header_buffers 4 4k/8k
网友评论