zoukankan      html  css  js  c++  java
  • 每次回顾,总会有一点小收获!

    一、$a = 0;

    $a[] = 2; // 不能将标量值用作数组 PHP Warning: Cannot use a scalar value as an array

     

    $arr = ['1', '2'];

    foreach($arr as $k=>$v){

      if($k == 0){

        $adm = '3333';

      }else if($k == 1){

        $adm[] = 'test'; // PHP致命错误:Uncaught error:[]运算符不支持/code/main中的字符串。PHP Fatal error: Uncaught Error: [] operator not supported for strings

      }

    }

    var_dump($adm);// 字符串不再支持 空索引运算符。将空索引运算符应用于字符串(例如$adm[] = $x)会引发致命错误,而不是无声地转换为数组。 若将else if 里改为 $adm[1] = 'test',则不会报错。 故字符串不再支持空索引运算符

     

    二、$a = [1=>5,5=>8,22,2=>'8',81];
      var_dump($a);// [ 1=>5, 5=>8, 6=>22, 2=>'8', 7=>81 ]; 索引数组的下标定义

    三、$arr = array('3', '2', '1');

    foreach($arr as &$v){} // 此次循环遍历,将$v的指针指向下标为2的位置,打印$arr,数据不会变。
    //var_dump($arr); // 即此次便利仍未 ['3', '2', '1']

    foreach($arr as $v){//因为上次循环已将$v指针指向了下标为2的位置,故改变$v的值,也即是改变下标为2的值

    var_dump($arr);// 第一次循环,给$v赋值3,即下标为2的位置也为3,故输出['3', '2', '3']
    // 第二次循环,给$v赋值2,即下标为2的位置也为2,故输出['3', '2', '2']
    // 第三次次循环,此时$arr = ['3', '2', '2'],不再是原来的['3', '2', '1'],给$v赋值2,即下标为2的位置也为2,故输出['3', '2', '2']
    }

    var_dump($arr); // 因为第一次循环遍历修改了$v指针的指向,故第二次循环,随着$v值的变化,$v指针指向的位置也会随之改变。故输出['3', '2', '2']


    四、$count = 5;

      function get_count(){
        static $count = 0;
        return ++$count;
      }

    echo $count++; // 先输出后执行++, 执行下一行前$count++变为6,故输出5,
    echo ++$count; // $count = 6, 先执行++,$count变为7后输出,故输出7

    // static静态变量作用于仅限于函数内部,且若不做unset(),则此次变更的值,下次调用函数,仍然适用。eg:
    get_count(); // static $count = 0, 执行++后输出,static $count = 1; 此时return $count = 1;
    echo get_count(); // 再次调用函数,static $count沿用上次函数变更后的值即static $count = 1; 后先执行++后输出,即输出为2

    五、$arr = [1, 'aa' => 2, 3, 4];

    foreach($arr as $k=>$v){
      print($k == 'aa' ? 5 : $v); // 输出结果依次为 5534
    }

    // int 和 string 做比较判断时,会将string转换为int型来比较,字符串转换为整型结果为0
    // 故 0 == 'aa' 会返回true,都是0 若 0 === 'aaa' ,则返回false,因为===全等比较,要判断类型

  • 相关阅读:
    169. Majority Element
    283. Move Zeroes
    1331. Rank Transform of an Array
    566. Reshape the Matrix
    985. Sum of Even Numbers After Queries
    1185. Day of the Week
    867. Transpose Matrix
    1217. Play with Chips
    766. Toeplitz Matrix
    1413. Minimum Value to Get Positive Step by Step Sum
  • 原文地址:https://www.cnblogs.com/bestvish/p/12063524.html
Copyright © 2011-2022 走看看