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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马