黑马程序员技术交流社区

标题:  PHP基础是不是扎实,那就测测这10个问题  [打印本页]

作者: huawei    时间: 2016-10-7 13:36
标题:  PHP基础是不是扎实,那就测测这10个问题 
本帖最后由 沈唁 于 2017-8-11 12:01 编辑

      本帖整理的10个问题,看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。

Q1第一个问题关于 弱类型

  1. <?php

  2. $str1 = 'yabadabadoo';
  3. $str2 = 'yaba';
  4. if (strpos($str1,$str2)) {  
  5.     echo "\"" . $str1 . "\" contains \"" . $str2 . "\"";
  6. } else {
  7.     echo "\"" . $str1 . "\" does not contain \"" . $str2 . "\"";
  8. }
复制代码



正确运行的输出结果:



Q2 :下面的输出结果会是怎样?

  1. <?php

  2.         $x = 5;
  3.         echo $x;  
  4.        echo "<br />";  
  5.        echo $x+++$x++;  
  6.        echo "<br />";  
  7.        echo $x;  
  8.        echo "<br />";  
  9.        echo $x---$x--;  
  10.        echo "<br />";  
  11.         echo $x;  
复制代码

实际运行结果是:


Q3:关于变量的引用;

  1. <?php

  2.       $a = '1';
  3.       $b = &$a;
  4.       $b = "2$b";
复制代码

请问 $a 和 $b 的值各位多少?



Q4:下面是true还是false
  1. <font size="2"><?php

  2. var_dump(0123 == 123);  
  3. var_dump('0123' == 123);  
  4. var_dump('0123' === 123);</font>
复制代码



Q5:下面的代码有什么问题吗?输出会是什么,怎样修复它
  1. <font size="2"><?php

  2.        $referenceTable = array();
  3.        $referenceTable['val1'] = array(1, 2);
  4.        $referenceTable['val2'] = 3;
  5.        $referenceTable['val3'] = array(4, 5);

  6.        $testArray = array();

  7.         $testArray = array_merge($testArray, $referenceTable['val1']);
  8.        var_dump($testArray);  
  9.        $testArray = array_merge($testArray, $referenceTable['val2']);
  10.        var_dump($testArray);  
  11.       $testArray = array_merge($testArray, $referenceTable['val3']);
  12.       var_dump($testArray);  </font>
复制代码

实际输出如下:

array(2) { [0]=> int(1) [1]=> int(2) }  
NULL  
NULL  

运行的时候你或许还能看到下面的警告

Warning: array_merge(): Argument #2 is not an array  
Warning: array_merge(): Argument #1 is not an array  

array_merge 需要传入的参数都是数组,如果不是,则会返回null。 你可以这样修改


Q6: $x应该是输出什么?
  1. <?php

  2.         $x = true and false;
  3.         var_dump($x);  </font>
复制代码

部分同学或许会第一时间想到false,实际上:


Q7:经过下面的运算 $x的值应该是多少?
  1. $x = 3 + "15%" + "$25"
复制代码
答案是 18 ,PHP是会根据上下文实现 类型的自动转换上面的代码我们可以这样理解:

Q8:运行下面的代码, $text 的值是多少? strlen($text) 又会返回什么结果?

<?php
    $text = 'John ';
    $text[10] = 'Doe';


上面代码执行完毕后 $text = "John D" (John后面会有连续的5个空格) strlen($text) 会返回11


Q9:下面的输出结果会是什么

    $v = 1;
     $m = 2;
     $l = 3;
     if( $l > $m > $v){  
          echo "yes";
     }else{
        echo "no";
     }

实际的输出是


Q10:执行下面代码 $x 会变成什么值呢?


     $x = NULL;
     if ('0xFF' == 255) {  
         $x = (int)'0xFF';
     }


实际的运行结果是





作者: szc12000    时间: 2016-10-27 14:57
不常用的话,确实容易忽略
作者: pcg765018483    时间: 2016-10-27 18:02
5 7 5 5 就是这个吧
作者: tuyouwen    时间: 2016-10-28 17:09
wizhidaowozzzzz
作者: eddies    时间: 2016-11-2 09:49
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: xtong27    时间: 2016-11-3 23:26
正好要准备面试,好像不错的样子,瞅瞅!
作者: 白云苍狗    时间: 2016-11-9 02:04
不晓得不晓得不晓得不晓得不晓得不晓得不晓得
作者: 无聊的风    时间: 2016-11-9 13:16
6666666666666
作者: 挨踢男神jing    时间: 2016-11-10 00:28
好好复习下
作者: echoandprint_r    时间: 2016-11-10 15:13
学习中了
作者: 六点二十二    时间: 2016-11-10 16:14
基础不是特别牢固啊     
作者: liux_m    时间: 2016-11-10 18:04
谢谢分享!!!
作者: 小小海    时间: 2016-11-10 19:57
djfhsjdhsjdj
作者: 支sir    时间: 2016-11-10 22:07
"yabadabadoo" does not contain "yaba"
作者: 高级php学徒    时间: 2016-11-11 10:27
黑马厉害
作者: 嘿嘿厉害了    时间: 2016-11-11 10:43
tggtyyyhhhhuhuuuhjjjuju
作者: 问问111    时间: 2016-11-11 13:39
SFDFS的过分过分的风格
作者: 782934029    时间: 2016-11-14 10:00
66666666666666666666666666666666666
作者: PHP小兄弟    时间: 2016-11-16 14:59
aaaaaaaaaaaaaaaaaaaaaaaa
作者: wf892599245    时间: 2016-11-16 15:23
2575245245254252
作者: PHP小兄弟    时间: 2016-11-16 15:49
打了这些题,我的世界观崩塌了
作者: hsyb    时间: 2016-11-16 17:30
kankankankankankanknaknaknan
作者: 轩辕残痕    时间: 2016-11-17 10:09
棒棒棒!棒棒棒!
作者: guy    时间: 2016-11-17 22:06
??????????????
作者: jason_QS    时间: 2016-11-18 23:08
测测这10个问题
作者: 夜歌行    时间: 2016-11-20 16:03
fdsaaaaaaaaa
作者: eldoon    时间: 2016-11-21 18:10
dabadoodabadoodabadoodabadoodabadoodabadoo
作者: lanbao    时间: 2016-11-22 09:51
ejfidijfifjidfdfdfdf
作者: ysp110    时间: 2016-11-22 10:34
这个。。。逻辑中了!
作者: 晓宇    时间: 2016-11-22 18:27
66666666666
作者: qq332984152    时间: 2016-11-23 01:06
88888885858585858
作者: piliyouxia121    时间: 2016-11-24 15:13

作者: ch123cn    时间: 2016-11-25 17:43
RE:  PHP基础是不是扎实,那就测测这10个问题
作者: binghe123    时间: 2016-11-26 09:13
挺不错的,学习中
作者: xxt598316205    时间: 2016-11-29 17:51
6666666666666666666666
作者: tonykanye    时间: 2016-11-30 13:14
这个就尴尬了,几个还真不会~

作者: 肖肖肖    时间: 2016-12-4 15:53
666666666666666666666666
作者: a23269087    时间: 2016-12-4 18:13
感谢分享
作者: z598436422    时间: 2016-12-6 22:34
6666666666666666666666
作者: 加藤非    时间: 2016-12-7 18:50
谢谢分享啦啦啦
作者: hp_eckj_luox    时间: 2016-12-8 17:26
PHP基础是不是扎实,那就测测这10个问题
作者: khz    时间: 2016-12-9 13:32
感谢分享了
作者: yuren    时间: 2016-12-14 13:11
好好学习,天天向上
作者: 雨落风停    时间: 2016-12-14 15:45
爱爱爱爱爱爱爱爱阿
作者: Rakishly    时间: 2016-12-14 18:19
HP基础是不是扎实
作者: isuben    时间: 2016-12-20 17:22
84181asdas assdas
作者: jun-23    时间: 2016-12-21 15:12
滴答滴答滴答滴答滴答滴答滴答滴答滴答滴答滴答滴答
作者: 耀耀耀耀    时间: 2016-12-21 17:50
21231231231321212
作者: 这次永生    时间: 2016-12-22 09:25
和不错不错
作者: Angel飘落的云    时间: 2016-12-22 11:13
66666666666666666666
作者: 290422624    时间: 2016-12-22 13:04
跟着大神打天下

作者: 八千岁白菜    时间: 2016-12-22 18:07
阿里里阿里里阿里阿里里
作者: fanphp    时间: 2016-12-24 08:58
谢谢楼主分享
作者: www6688w    时间: 2016-12-27 11:47
重新放不方便个发的
作者: www6688w    时间: 2016-12-27 11:54
重新放不方便个发的
作者: 三千    时间: 2016-12-27 17:29
123发发发发发发发发发发发发发发发发发
作者: 赵先生    时间: 2016-12-28 23:31
看来还有好多没学明白呢!!!
作者: lfclannad    时间: 2016-12-29 16:45
"yabadabadoo" does not contain "yaba"
作者: lfclannad    时间: 2016-12-29 16:47
5
11
7
1
5
作者: VC丶万人敬仰    时间: 2017-1-3 16:37
666666666666666666666666
作者: hank8826    时间: 2017-1-4 09:53
好看好看好看
作者: LEEJUN    时间: 2017-1-5 11:33
23456789765434564
作者: 菲力的黑羽    时间: 2017-1-5 17:51
学习一下
作者: 打小我就行    时间: 2017-1-6 10:31
666666666666666666666666666
作者: 张大龙    时间: 2017-1-9 23:01
看一下

作者: heychm    时间: 2017-1-11 14:29
棒极了{:8_507:}
作者: 等风也等你    时间: 2017-1-12 15:24
和呵护和
作者: xiami23king    时间: 2017-1-16 11:45
6666666666666666666666666
作者: skykiah    时间: 2017-1-30 22:14
aaaaaaaaaaaaaaaaaaaaaaaa
作者: 小虎同学    时间: 2017-2-2 13:13
感觉很难

作者: 1317181388    时间: 2017-2-3 00:42
感谢楼主分享
作者: 646547989    时间: 2017-2-7 11:32
不常用的话,确实容易忽略
作者: 哈哈哈哈哈11    时间: 2017-2-9 18:54
哈哈哈哈哈哈

作者: 瞬间回忆    时间: 2017-2-10 19:20
wodezhengquedaanshi:1
作者: caonm    时间: 2017-2-14 14:42
666666666666666666666666666666
作者: yu778377806    时间: 2017-2-15 00:23
hhhhhhhhhhhhhhhhhhhhhh
作者: fjdaslfjk    时间: 2017-2-16 11:22
PHP基础是不是扎实,那就测测这10个问题
作者: qq332984152    时间: 2017-2-17 18:05
456456654倒萨
作者: 用户名不得小    时间: 2017-2-17 22:41
PHP页面跳转到另一个页面的三种方法

作者: 小丑鸭    时间: 2017-2-20 14:47
goodgood
作者: xiaoshizi    时间: 2017-2-22 10:31
dawdawddadadawda
作者: Cai小神    时间: 2017-2-23 17:39
PHP基础是不是扎实,那就测测这10个问题
作者: lxfily    时间: 2017-2-24 10:36
UIi各回各家更尴尬
作者: 周杰伦    时间: 2017-2-25 11:22
回复看答案
作者: shouwenlai    时间: 2017-2-25 21:04
多看多学,提高自我
作者: devil_joker@qq.    时间: 2017-2-27 17:21
666666666666666
作者: chengbocd    时间: 2017-2-28 16:40
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
作者: tlstar    时间: 2017-3-1 15:51
不常用的话,确实容易忽略
作者: mht    时间: 2017-3-2 16:08
666666666666666666666666666666
作者: 15814368371    时间: 2017-3-2 22:21
如果还是没有理解明白,没有关系
作者: 淋淋雨    时间: 2017-3-5 18:00
·······························································
作者: vcflyfeel    时间: 2017-3-7 18:25
PHP基础扎实
作者: vcflyfeel    时间: 2017-3-7 18:37
就没有人提出疑问吗? 第九个这样比较先出来的是报错啊
作者: ziyungrng    时间: 2017-3-9 00:24

作者: 哈哈微笑面对    时间: 2017-3-9 15:08
觉得困了就卡接沙发客技法的看法来解答开发建设的疯狂拉升阶段了
作者: Overflow    时间: 2017-3-12 19:20
1111111111111111111111
作者: wyywn1314    时间: 2017-3-14 12:29
谢谢分享
作者: 以梦为马5566    时间: 2017-3-16 16:43
5555555555555555555
作者: zsjx    时间: 2017-3-16 20:38
大力支持

作者: dulove1    时间: 2017-3-23 15:55
11111111111111




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2