分类 PHP 基础 下的文章

  • is_dir 判断给定文件名是否是一个目录
  • pathinfo 返回文件路径的信息 dirname basename extension filename
  • scandir 列出指定路径中的文件和目录
  • fopen 打开文件或者 URL
  • fgets 从文件指针中读取一行
  • strpos 查找字符串首次出现的位置
  • trim 去除字符串首尾处的空白字符(或者其他字符)
  • str_replace 子字符串替换
  • strpos 查找字符串首次出现的位置
  • strlen 获取字符串长度
  • array_sum 对数组中所有值求和
  • file_exists 检查文件或目录是否存在
  • file_put_contents 将一个字符串写入文件
  • file_get_contents 将整个文件读入一个字符串
  • rename 重命名一个文件或目录
  • array_slice 从数组中取出一段
  • number_format 以千位分隔符方式格式化一个数字
  • unlink 删除文件

Downloaded

  • ReStructuredText Support

Bundled

  • Angular and AngularJS
  • Apache config(.htaccess)
  • ASP
  • Behat Support
  • Blade
  • ChangeReminder
  • Codeception Framework
  • CoffeeScript
  • Command Line Tool
  • Copyright
  • CSS
  • Database Tools and SQL
  • Docker
  • DQL Support
  • Drupal
  • EditorConfig
  • File Watchers
  • FTP/SFTP Connectivitu(ex. Remote Hosts Access)
  • Gherkin
  • Git
  • GitHub
  • GNU GetText files support(*.po)
  • Haml
  • HTML Tools
  • HTTP Client
  • Hunspell
  • IDE Setting Sync
  • Ini
  • IntelliLang
  • JavaScript and TypeScript
  • JavaScript Intention Power Pack
  • Joomla! Support
  • Less
  • Machine Learning Code Completion
  • Markdown
  • Mercurial
  • NodeJS
  • Perforce
  • Performance Testing
  • Phing
  • PHP Docker
  • PHP Remote Interpreter
  • PHP WSL Support
  • PHPSpec BDD Framework
  • PHPT Support
  • Refactor-X
  • Sass
  • Settings Repository
  • Shell Script
  • Subversion
  • Task Management
  • Terminal
  • TextMate bundles
  • Time Tracking
  • tslint
  • Twig Support
  • UML
  • Vagrant
  • Vue.js
  • W3C Validators
  • WordPress
  • XPathView + XSLT
  • YAML

key 可以是 integer 或者 string。value 可以是任意类型。

此外 key 会有如下的强制转换:

  • 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。
  • 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
  • Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type

如果未指定,PHP 将自动使用之前用过的最大 integer 键名加上 1 作为新的键名。

  • PHP 标记

    当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。

    PHP 也允许使用短标记 <? 和 ?>,但不鼓励使用。只有通过激活 php.ini 中的 short_open_tag 配置指令或者在编译 PHP 时使用了配置选项 --enable-short-tags 时才能使用短标记。

    如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。

  • 从 HTML 中分离

    凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以使 PHP 嵌入到 HTML 文档中去,如下例所示。

    <p>This is going to be ignored by PHP and displayed by the browser.</p>
    <?php echo 'While this is going to be parsed.'; ?>
    <p>This will also be ignored by PHP and displayed by the browser.</p> 
>这将如预期中的运行,因为当 PHP 解释器碰到 ?> 结束标记时就简单地将其后内容原样输出(除非马上紧接换行 - 见指令分隔符)直到碰到下一个开始标记;例外是处于条件语句中间时,此时 PHP 解释器会根据条件判断来决定哪些输出,哪些跳过。见下例。 

>使用条件结构:

>Example #1 使用条件的高级分离术
<?php if ($expression == true): ?>
  This will show if the expression is true.
<?php else: ?>
  Otherwise this will show.
<?php endif; ?> 
>例中 PHP 将跳过条件语句未达成的段落,即使该段落位于 PHP 开始和结束标记之外。由于 PHP 解释器会在条件未达成时直接跳过该段条件语句块,因此 PHP 会根据条件来忽略之。 

>要输出大段文本时,跳出 PHP 解析模式通常比将文本通过 echo 或 print 输出更有效率。 

>可以在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐使用。 

>此外注意如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用 <?php ?> 标记以保持符合标准。 

>Example #2 PHP 开始和结束标记
1.  <?php echo 'if you want to serve XHTML or XML documents, do it like this'; ?>

2.  <script language="php">
        echo 'some editors (like FrontPage) don\'t
              like processing instructions';
    </script>

3.  <? echo 'this is the simplest, an SGML processing instruction'; ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"

4.  <% echo 'You may optionally use ASP-style tags'; %>
    <%= $variable; # This is a shortcut for "<% echo . . ." %> 
>上例中的 1 和 2 中使用的标记总是可用的,其中示例 1 中是最常用,并建议使用的。 

>短标记(上例 3)仅在通过 php.ini 配置文件中的指令 short_open_tag 打开后才可用,或者在 PHP 编译时加入了 --enable-short-tags 选项。 

>ASP 风格标记(上例 4)仅在通过 php.ini 配置文件中的指令 asp_tags 打开后才可用。

>Note: 在以下情况应避免使用短标记:开发需要再次发布的程序或者库,或者在用户不能控制的服务器上开发。因为目标服务器可能不支持短标记。为了代码的移植及发行,确保不要使用短标记。 

>Note: 在 PHP 5.2 和之前的版本中,解释器不允许一个文件的全部内容就是一个开始标记 <?php。自 PHP 5.3 起则允许此种文件,但要开始标记后有一个或更多白空格符。 

>Note: 在 PHP 5.2 和之前的版本中,解释器不允许一个文件的全部内容就是一个开始标记 <?php。自 PHP 5.3 起则允许此种文件,但要开始标记后有一个或更多白空格符。 

  • __construct()   实例化对象时被调用,当 __construct 和以类名为函数名的函数同时存在时,__construct 将被调用,另一个不被调用。
  • __destruct()   当删除一个对象或对象操作终止时被调用。
  • __call()      对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用 __call 函数。
  • __get()     读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用 __get 函数。
  • __set()     设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用 __set 函数。
  • __toString()   打印一个对象的时被调用。如 echo $obj; 或 print $obj;
  • __clone()    克隆对象时被调用。如:$t=new Test();$t1=clone $t;
  • __sleep()    serialize 之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
  • __wakeup()   unserialize 时被调用,做些对象的初始化工作。
  • __isset()    检测一个对象的属性是否存在时被调用。如:isset($c->name)。
  • __unset()    unset 一个对象的属性时被调用。如:unset($c->name)。
  • __set_state()  调用 var_export 时,被调用。用 __set_state 的返回值做为 var_export 的返回值。
  • __autoload()   实例化一个对象时,如果对应的类不存在,则该方法被调用。