PHP面试题,谁做做? 确实很简单这些SQL在学校都学过的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 确实比较简单我基本上这些题都没问题最后的输出结果我拿zend studio也测试过 完全正确都是平时开发中经常遇到的问题,说明人家出题人确实出题到家有没有开发经验的这些题一做就能检查出来你的php水平了 确实很简单。最后那个输出结果 一个4 一个hotdogok第一是比较大小第二个字符串的字符串 然后连接字符串前两个没仔细看 简单啊 我才学php 不到一个月,很简单!我都会做 1) 写出以下程序的输出结果 <? $b=201; $c=40; $a=$b>$c?4:5; echo $a; ?> 结果:2012) 写出以下程序的输出结果 <? $str="cd"; $$str="hotdog"; $$str.="ok"; echo $cd; ?>结果:hotdog 正确答案是:第一个是:4 第二个是:cdok <?$b=201; $c=40; $a=$b>$c?4:5; echo $a; ?> 考的明显是运算符的优先级。除了","以外"="的优先级最低。所以$b>$c为201>40返回true,然后下面变为三元运算符true?4:5很明显,为true返回4<? $str="cd"; $$str="hotdog"; $$str.="ok"; echo $cd; ?>变量的变量,楼上的说错了。第一步给$$str赋值为"hotdog",实际上就是给$cd赋值"hotdog".下面再次给$$str赋值为$$str.="ok",实际上就是$cd.="ok";所以结果是"hotdogok",这个变量的变量是php的一个特性,应当算是一个小技巧吧,不过实际当中我还真没用过。也没见过别人在实际当中用过,可能是因为程序可读性降低,而带来的好处并不值得我们去为其降低可读性。 第一道题,需要使用left join,否则无法做到没有回复的文章显示为0table message:+----+----------+---------------------+-------------+------+| id | title | content | category_id | hits |+----+----------+---------------------+-------------+------+| 1 | testtest | dsadsadsdsaddasdsad | 2 | 20 || 2 | test2 | 111111111112222222 | 1 | 30 |+----+----------+---------------------+-------------+------+table comment:+------------+------+-----------------------+| comment_id | id | comment_content |+------------+------+-----------------------+| 1 | 1 | dsadsadsdsaddasdsadss || 2 | 1 | ffffdddddd || 3 | 1 | 323 |+------------+------+-----------------------+select m.id as article_id,m.title as article_title,m.hits as arcticle_hits,count(comment_id) as comment_nums from message m left join comment c on m.id = c.id group by m.id order by comment_nums desc;result:+------------+---------------+---------------+--------------+| article_id | article_title | arcticle_hits | comment_nums |+------------+---------------+---------------+--------------+| 1 | testtest | 20 | 3 || 2 | test2 | 30 | 0 |+------------+---------------+---------------+--------------+ 第一道题第3小题,直接select category表,取出所有数据放入$data数组,然后<?phpforeach($data as $d){?><option value="<?php echo $d['categroy_id']?>">="<?php echo $d['categroy_name']?></option><?php }?>第二道题(1):1 接收用户提交的内容并插入数据库。2 读取数据库,将希望得到的内容读取出来。3 ob_start开启缓冲,组合出结果页面。4 使用ob_get_contents获取缓冲区内容,将ob_get_contents返回的结果写入一个.html文件。之后调用ob_end_clean清除缓冲区内容。5 最后再调用ob_implicit_flush输出到浏览器。(2):当用户修改已发布内容时,还会经过上述流程,重新生成的html页面会覆盖原有的html来达到更新html页面的目的。其思路就是:浏览页面时,每次都只是去加载html页面,而不会去查询数据库,只有当数据库内容发生update的时候,才会重新生成页面。此方式只适合新闻系统,因为更新频率低,浏览的频率高,这种方式最合适。而不适合像bbs这种更新比较频繁的系统。不过现在似乎动态缓存技术更加流行。具体参见discuz的实现方式。 都是一些基本的题,如果楼主天天都在用php,那是肯定没有问题的 firephp怎么断点调试啊 $HTTP_POST_FILES问题请教 帮忙解决一个新手问题 高手么帮我看看这段代码 PHP 下载时的文件名问题 查询语句LIKE问题。 请问用PHP处理这个问题? 函数能不能返回数组 我用histroy.go(-1)返回到上一页但是上一页的输入框中信息都没清空了,为什么啊 得到访问用户的机器配置的问题 跟大家请教一下PHP数据库备份问题.送上100分 php文件读写问题
我基本上这些题都没问题最后的输出结果我拿zend studio也测试过 完全正确都是平时开发中经常遇到的问题,说明人家出题人确实出题到家有没有开发经验的这些题一做就能检查出来你的php水平了
第二个字符串的字符串 然后连接字符串前两个没仔细看
<? $b=201; $c=40; $a=$b>$c?4:5; echo $a; ?>
结果:2012) 写出以下程序的输出结果 <? $str="cd"; $$str="hotdog"; $$str.="ok"; echo $cd; ?>
结果:hotdog
$b=201; $c=40; $a=$b>$c?4:5; echo $a;
?> 考的明显是运算符的优先级。除了","以外"="的优先级最低。
所以$b>$c为201>40返回true,然后下面变为三元运算符true?4:5
很明显,为true返回4<?
$str="cd"; $$str="hotdog"; $$str.="ok"; echo $cd;
?>变量的变量,楼上的说错了。
第一步给$$str赋值为"hotdog",实际上就是给$cd赋值"hotdog".
下面再次给$$str赋值为$$str.="ok",实际上就是$cd.="ok";
所以结果是"hotdogok",这个变量的变量是php的一个特性,应当算是一个小技巧吧,不过实际当中我还真没用过。也没见过别人在实际当中用过,可能是因为程序可读性降低,而带来的好处并不值得我们去为其降低可读性。
+----+----------+---------------------+-------------+------+
| id | title | content | category_id | hits |
+----+----------+---------------------+-------------+------+
| 1 | testtest | dsadsadsdsaddasdsad | 2 | 20 |
| 2 | test2 | 111111111112222222 | 1 | 30 |
+----+----------+---------------------+-------------+------+table comment:
+------------+------+-----------------------+
| comment_id | id | comment_content |
+------------+------+-----------------------+
| 1 | 1 | dsadsadsdsaddasdsadss |
| 2 | 1 | ffffdddddd |
| 3 | 1 | 323 |
+------------+------+-----------------------+select m.id as article_id,m.title as article_title,m.hits as arcticle_hits,count(comment_id) as comment_nums from message m left join comment c on m.id = c.id group by m.id order by comment_nums desc;result:
+------------+---------------+---------------+--------------+
| article_id | article_title | arcticle_hits | comment_nums |
+------------+---------------+---------------+--------------+
| 1 | testtest | 20 | 3 |
| 2 | test2 | 30 | 0 |
+------------+---------------+---------------+--------------+
<?php
foreach($data as $d){
?>
<option value="<?php echo $d['categroy_id']?>">="<?php echo $d['categroy_name']?></option>
<?php }?>
第二道题(1):
1 接收用户提交的内容并插入数据库。
2 读取数据库,将希望得到的内容读取出来。
3 ob_start开启缓冲,组合出结果页面。
4 使用ob_get_contents获取缓冲区内容,将ob_get_contents返回的结果写入一个.html文件。之后调用ob_end_clean清除缓冲区内容。
5 最后再调用ob_implicit_flush输出到浏览器。(2):
当用户修改已发布内容时,还会经过上述流程,重新生成的html页面会覆盖原有的html来达到更新html页面的目的。
其思路就是:浏览页面时,每次都只是去加载html页面,而不会去查询数据库,只有当数据库内容发生update的时候,才会重新生成页面。此方式只适合新闻系统,因为更新频率低,浏览的频率高,这种方式最合适。而不适合像bbs这种更新比较频繁的系统。不过现在似乎动态缓存技术更加流行。具体参见discuz的实现方式。