当前位置:  编程技术>php
本页文章导读:
    ▪PHP 函数 isset、array_key_exists 的差异      PHP判断某数组的索引值是否存在,一般会使用 isset 和 array_key_exists 两种方法。 例如: <?php isset($a['key']) array_key_exists('key', $a) array_key_exists函数会确切地告知:数组是否存在某个键,而 iss.........
    ▪ 学习php字符串编码的转换与判断      在php中经常需要实现GBK 和 UTF-8 编码转换,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码。 有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,你如: <?php iconv.........
    ▪ PHP 双引号和单引号的用法分析      通过 PHP 过滤字符串中的换行符,通常会这样操作: <?php $out = str_replace(array('\r\n', '\r', '\n'), '', $out); PHP 提供三种定义字符串的方法:单引号、双引号、本地文档(英文叫做 here document 或.........

[1]PHP 函数 isset、array_key_exists 的差异
    来源: 互联网  发布时间: 2013-12-24
PHP判断某数组的索引值是否存在,一般会使用 isset 和 array_key_exists 两种方法。
例如:
<?php
isset($a['key'])
array_key_exists('key', $a)
array_key_exists函数会确切地告知:数组是否存在某个键,而 isset 则只是返回键值是否为 null 的状态。
假设给定下面的数组:
$a = array('key1' => '123', 'key2' => null);
使用这两个方法判断键值存在情况,结果如下:
<?php
isset($a['key1']);             // true
array_key_exists('key1', $a);  // true

isset($a['key2']);             // false
array_key_exists('key2', $a);  // true
有关这二个函数的执行效率:
从 PHP 引擎本身来说,底层都是 C 语言的实现,array_key_exists 和 isset 应该都是很快的。
如果运算次数上千次上万次,这种情况下 isset 的性能应该更为显著。

    
[2] 学习php字符串编码的转换与判断
    来源: 互联网  发布时间: 2013-12-24
在php中经常需要实现GBK 和 UTF-8 编码转换,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码。
有两个库函数能够支持编码的转换,通常能够想到的就是 iconv 函数,你如:
<?php
iconv('GBK', 'UTF-8//IGNORE', '芒果小站'); // 将字符串由 GBK 编码转换为 UTF-8 编码
但 iconv 只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到 mb_string 扩展库:
<?php
mb_detect_encoding('');
可是 mb_detect_encoding 存在一个硬伤,经常出现判断不准确的情况。
可以参考如下的解决方法:
<?php
// 使用 iconv 转换并判断是否等值,效率不高
function is_utf8 ($str) {
    if ($str === iconv('UTF-8', 'UTF-8//IGNORE', $str)) {
        return 'UTF-8';
    }
}
// 多种编码的情况
function detect_encoding ($str) {
    foreach (array('GBK', 'UTF-8') as $v) {
        if ($str === iconv($v, $v . '//IGNORE', $str)) {
            return $v;
        }
    }
}
通过以上方式得到字符串编码信息后,即可使用 iconv 或 mb_convert_encoding 进行编码转换了。

您可能感兴趣的文章:
php判断字符串编码是否为utf8的函数举例
php获取字符串的编码格式的函数
php判断字符编码的二个方法
php 自动检测内容编码并转换的代码
自动检测内容中的编码并进行转换的函数
php编码转换函数(自动转换字符集支持数组转换)
php改变编码的函数iconv


    
[3] PHP 双引号和单引号的用法分析
    来源: 互联网  发布时间: 2013-12-24
通过 PHP 过滤字符串中的换行符,通常会这样操作:
<?php
$out = str_replace(array('\r\n', '\r', '\n'), '', $out);
PHP 提供三种定义字符串的方法:单引号、双引号、本地文档(英文叫做 here document 或者 heredoc)。
单引号:
使用单引号是最高效的方法,因为 PHP 不会检查单引号字符串中的内置变量和转义序列,需要转义的字符只有反斜杠和单引号本身。
双引号:
会检查内置变量和转义序列,但不能识别转义的单引号。
这也正说明了开始那段代码的错误之处,正确的做法是使用双引号来定义换行的转义序列:
<?php
$out = str_replace(array("\r\n", "\r", "\n"), '', $out);
heredoc:
检查所有的内置变量和转义序列,双引号无需转义。
例如:
<?php
echo <<<EOT
this is a "here document" example.
just for test.
EOT;

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
unix/linux知识 iis7站长之家
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3