• PHP基础概念


    参考资料

    https://www.cnblogs.com/rxbook/p/10912942.html

    PHP的垃圾回收机制(GC机制)

    官方说明 http://docs.php.net/manual/zh/features.gc.refcounting-basics.php
    PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数这种单纯的垃圾回收机制。每个对象都内含一个引用计数器,每多一个reference链接到对象,计数器加1,当reference离开生存空间或者被设为null,计数器减1,当某个引用计数器的对象为0时,PHP知道你将不再需要使用这个对象,释放其所占有的内存空间。

    1.PHP 语法错误 和 语义错误 的区别:
    语法错误 通过IDE都可以提示看到:如缺少分号,未声明的变量,不匹配的括号或大括号,和未终止字符串;
    语义错误 一般是逻辑上的错误,例如:除以0。
    2.函数名不区分大小写,变量区分大小写。
    3.检测变量类型:is_bool(),is_string(),is_float(),is_array(),is_object()。
    4.检测是否存在:file_exists(),class_exists(),property_exists()
    5.将stdclass object转换为数组:get_object_vars($test);
    7.require/include遇到即包含文件,require_once/include_once只包含一次。
    require/require_once遇到错误会终止,一般放在程序的最前面;
    include/include_once遇到错误会继续执行,一般放在流程控制语句中。
    8.session_start()函数前面如果需要有输出:ob_start();session_start();$_SESSION[user]=1;ob_end_flush();
    9.使用empty(),对于""、0、"0"、NULL、FALSE、array() 都认为是空的。
    10.parse_url : 解析URL,返回其组成部分
    11.http_build_query() : 生成 url_encode 之后的请求字符串
    12.usleep 微秒,sleep 秒:sleep(2) = 2秒。
    13.获取图片尺寸:getimagesize("1.jpg");
    14.页面js调试:console.info(“输出info”); console.warn(“输出警告”); console.error(“输出错误”);
    15.PHP中的错误级别:Deprecated/Notice/Warning/Fatal error/Parse error(最高级别的错误,语法解析错误);
    16.屏蔽错误输出:error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING);
    17.代码调试:debug_backtrace(); 实参个数:func_num_args(); 返回某一个实参:func_get_args();
    18.将数组结果以字符串的形式输出(可以直接将数组的结果以字符串的形式写入日志):
    echo print_r($arr,1); 或者 echo var_export($arr,1);

    1.七种布尔false:0,0.0,'','0',false,array(),NULL。注意,字符串的'false'的布尔值是 true
    2.遍历数组的三种方式和区别:
    (1)for循环:只能遍历数字索引。
    (2)foreach循环:可以遍历数字索引和关联索引,并且会对数组进行reset()操作
    (3)while、list()、each()组合循环:可以遍历数字索引和关联索引,但是不会对数组进行reset()操作
    3.continue 2 表示跳出外面第2层循环,其他数字同理。
    4.全局变量:把外部的全局变量用于函数内部,在内部的变量使用global $a,或者$GLOBALS['a']
    5.静态变量:仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不会消失(不会释放内存),使用 static $a
    说明:仅初始化一次;初始化时需要赋值;每次执行函数该值会保留; static修饰的变量是局部的,仅在函数内部有效;
    可以记录函数的调用次数,从而可以在某些条件下终止递归。

    isset和empty
    isset用来判断变量是否存在;empty用来判断变量是否有值。
    $a不存在和$a = null 两种情况在isset看来为true,其余为false(包括$a = ‘’;)
    $a = null, 0, false, ‘ ’, 或不存在时在empty看来为true,其余为false。

  • 相关阅读:
    Gulp使用入门操作---压缩JS
    Linux如何查看进程及如何杀死进程
    连不上GitHub,也ping不通,亲测解决方案
    idea一键生成mybatis工具
    idea逆向生成hibernate工程
    idea常用快捷键大全
    mysql日期函数
    数据库事务
    idea激活码
    oracle创建表前校验是否存在
  • 原文地址:https://www.cnblogs.com/aworkstory/p/12915365.html
Copyright © 2020-2023  润新知