• 错题总结


    1.array_merage和相加的区别

    数字索引  array_merge 会完全合并成新的数组,相加的话会根据key值是否相同优先保留前者。

    字符串索引, 相同key值array_merge后者取代前者,相加前者取代后者。

     2 trim函数

    $a = 'aabbc';

    echo trim($a,'ab');

    输出c

    因为trim是按照字符串来匹配删除的,相当于正则里面a+b+;

    3.nginx -t reload 所做的事情。。部分在使用的js,css不会改变,当未使用的时候则改变服务器js,css文件内容。平滑重启nginx。不会停服务。

    4.数据库索引选择  当有索引abc和索引c的时候,查找where c=xxx用的是abc的索引,而且效率要低于用索引C,这个原理还要再查下

    5.php-fpm php的进程管理器,用一个进程管理连接数之类的参数配置,如果要再启动Php进程,则在此进程下开启一个新的php进程。

    6.获取当前月份最后一天。  echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));

    7.数据存储在redis里的意义,利用redis的数据类型的特性,更方便操作。

    以前以为仅仅是因为操作的原子性,针对高并发。

    8.php7的特性。 原文参考: https://blog.csdn.net/h330531987/article/details/74364681

    1.可以强制函数参数类型,例如整型 bool型

    function aa(int a){}

    2.返回值类型声明。function arraySum(array $aa) : array{}

    3. ??

    4.太空船操作符

     $a <==>$b 相等0.小于-1 大于1

    5.define支持数组

      define('aa',[1,2,3]);

    6.匿名函数直接实例化$app->getlogger(new class $bb implements logger){}

    7.namespace可以通过use 一次性导入

      use {Class A,Class B,Class C}

    8.intdiv(10,3) 3//除法取整去余

    9.session_start增加数组参数可以替代php.ini的配置

      session_start([ 'cache_limiter' => 'private', 'read_and_close' => true ]);

    10.random_bytes() 随机字符串

      random_int() 随机数字

    11.可以用字符串访问静态方法

    class foo
    {
    static $bar = 'baz';

    public static function bar(){
    return 222;
    }
    }

    echo 'foo'::bar(); // 222
    echo 'foo'::$bar(); // baz
    exit;

    12.php内置一个web服务器

    把当前目录作为Root Document只需要这条命令即可:

    php -S localhost:3300

    也可以指定其它路径

    php -S localhost:3300 -t /path/to/root  

    还可以指定路由

    php -S localhost:3300 router.php

    13.支持延迟及静态绑定。static::who()

    14.支持goto  goto end;  

       a:

      for(xxx){

      if(xxx)
      goto end;

      }

       end:

    15. callstatic()魔术方法

    16.newdoc语法

    // Nowdoc 单引号 PHP 5.3之后支持
    $name = 'MyName';
    echo <<<'EOT'
    My name is "$name".
    EOT;
    //上面代码输出 My name is "$name". ((其中变量不被解析)
    // Heredoc不加引号
    echo <<<FOOBAR
    Hello World!
    FOOBAR;
    //或者 双引号 PHP 5.3之后支持
    echo <<<"FOOBAR"
    Hello World!
    FOOBAR;

    17.const 定义常量 
    const CONSTANT = 'Hello World';

    18。json 中文支持  JSON_UNESCAPED_UNICODE

    19.json转义语法 echo "u{9876}"

    20.** 幂运算

    21.tratis 魔术常量。替换继承的类方法

    22.非变量获取下标  
    echo "foobar"[2]; //输出o

    23.常量增强,允许常量作为函数默认值。

    24.支持常量权限 private const aa = 4

    25。参数跳跃

    function add(...$args)
    {
    $result = 0;
    foreach($args as $arg)
    $result += $arg;
    return $result;
    }

    26.函数参数可以为空

    function test(?string $name)
    {
    var_dump($name);
    }

    27。返回值void函数,要么没有retrun 要么直接return

    function swap(&$left, &$right) : void
    {
    if ($left === $right) {
    return;
    }
    $tmp = $left;
    $left = $right;
    $right = $tmp;
    }
    $a = 1;
    $b = 2;
    var_dump(swap($a, $b), $a, $b);

    28.参数解包

    function add($a, $b, $c) {
    return $a + $b + $c;
    }
    $arr = [2, 3];
    add(1, ...$arr);

    29.yield 迭代器

    30. foreach新写法list

    $array = [
    [1, 2],
    [3, 4],
    ];
    foreach ($array as list($a, $b)) {
    echo "A: $a; B: $b ";
    }

    31 gmp数据支持相加减

    32.boolval

    0: false
    42: true
    0.0: false
    4.2: true
    "": false
    "string": true
    "0": false
    "1": true
    [1, 2]: true
    []: false
    stdClass: true

    33.foreach不再改变内部指针。

    34.十六进制数字不再认为是数字。

    35

    被移除的函数列表如下:
    call_user_func() 和 call_user_func_array()从PHP 4.1.0开始被废弃。
    已废弃的 mcrypt_generic_end() 函数已被移除,请使用mcrypt_generic_deinit()代替。
    已废弃的 mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() 和 mcrypt_ofb() 函数已被移除。
    set_magic_quotes_runtime(), 和它的别名 magic_quotes_runtime()已被移除. 它们在PHP 5.3.0中已经被废弃,并且 在in PHP 5.4.0也由于魔术引号的废弃而失去功能。
    已废弃的 set_socket_blocking() 函数已被移除,请使用stream_set_blocking()代替。
    dl()在 PHP-FPM 不再可用,在 CLI 和 embed SAPIs 中仍可用。
    GD库中下列函数被移除:imagepsbbox()、imagepsencodefont()、imagepsextendfont()、imagepsfreefont()、imagepsloadfont()、imagepsslantfont()、imagepstext()
    在配置文件php.ini中,always_populate_raw_post_data、asp_tags、xsl.security_prefs被移除了。

    36.引用赋值会报错,示例如下

    class C {}
    $c =& new C;

    37.password_hash.password_verify. php7已经不废弃加盐了

    38.ini中没有#只有;进行注释

    39.不再提供 $HTTP_RAW_POST_DATA 变量。 请使用 php://input 作为替代。

    补充:pdo预绑定插入并不是直接编译成一条sql,而是编译成一个流程式的sql。比如@set a=xxxx 当设置变量的时候就会将关键字进行转义了。原理是mysql的预处理,不会把数据和插入弄成一个语句。

  • 相关阅读:
    [NOI2010]航空管制
    [POI2008]POD-Subdivision of Kingdom
    CF17C Balance
    [HAOI2007]理想的正方形
    [Code+#1]大吉大利,晚上吃鸡!
    HDU 3371
    hdu1102
    最短路算法、应用、模板总结
    csu十月月赛 并查集+分组背包
    csu 十月月赛 最短路+最小费用
  • 原文地址:https://www.cnblogs.com/best-jobs/p/9660491.html
Copyright © 2020-2023  润新知