A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 沈唁 于 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';
     }


实际的运行结果是
游客,如果您要查看本帖隐藏内容请回复




200 个回复

倒序浏览
不常用的话,确实容易忽略
回复 举报
5 7 5 5 就是这个吧
回复 举报
wizhidaowozzzzz
回复 举报
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 举报
正好要准备面试,好像不错的样子,瞅瞅!
回复 举报
不晓得不晓得不晓得不晓得不晓得不晓得不晓得
回复 举报
6666666666666
回复 举报
好好复习下
回复 举报
学习中了
回复 举报
基础不是特别牢固啊     
回复 举报
liux_m 初级黑马 2016-11-10 18:04:52
12#
谢谢分享!!!
回复 举报
djfhsjdhsjdj
回复 举报
支sir 中级黑马 2016-11-10 22:07:37
14#
"yabadabadoo" does not contain "yaba"
回复 举报
黑马厉害
回复 举报
tggtyyyhhhhuhuuuhjjjuju
回复 举报
SFDFS的过分过分的风格
回复 举报
66666666666666666666666666666666666
回复 举报
aaaaaaaaaaaaaaaaaaaaaaaa
回复 举报
2575245245254252
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马