用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式, 还会在一定程度上增加传输的数据量.
代码如下 | 复制代码 |
<?php |
这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.
而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
看下面的例子:
代码如下 | 复制代码 |
<?php |
怎么样, 是不是让大家很开心的改动?
呵呵, 当然, Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项,
根据本人经验如果在使用php函数或方法出现Call to undefined function curl_init”错误提醒时就是php.ini中配置文件没有配置好了,解决方法也非常的简单XAMPP打开CURL的方法:
修改 X:/xampp/php/php.ini文件
查找如下代码,大约在952行,XAMPP版本不同可能有点小区别,用编辑器查找就行
;extension=php_curl.dll
将其前面的分号去掉,然后重启Apache,搞定。
如果还是不行我们要注意一点是:要保证php_curl.dll 复制到php安装目录下的ext下,libeay32.dll和ssleay32.dll复制到php安装目录下。(我的配置文件是system32,和php5ts.dll一个地)
用了好几年啦!觉得挺好的一个调试程序,主要是调用php的内部函数print_r(),其实print_r就是用来调试用的,只是有些地方不够好了,下面我来自定义一个函数可以满足我们的需求,下面大家一起来看看。
比如缩进关系,每次写还要在前面加上echo "<pre>" ,其实这很不爽的!还有内部的var_dump(),反正效果不怎么理想的,所以就自己写了这个,在配置文件中加上此函数、每次调用只要dump($var) $var不管是变量、数组、类库都能打印出来——爽呀!
代码如下 | 复制代码 |
/** * 输出变量的内容,通常用于调试 * @package Core * @param mixed $vars 要输出的变量 * @param string $label * @param boolean $return */ function dump($vars, $label = '', $return = false) { if (ini_get('html_errors')) { $content = "<pre>n"; if ($label != '') { $content .= "<STRONG>{$label} :</STRONG>n"; } $content .= htmlspecialchars(print_r($vars, true)); $content .= "n<pre>n"; }else { $content = $label . " :n" . print_r($vars, true); } if($return) { return $content; }else { echo $content; return null; } } |
/**
** 温馨提示:本站所有文章均来自PHPma精心编辑,99%原创,转帖之人需保留本站的链接
** 本站所有文章仅代表本人观点,转帖概不负责
**/
php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档是是无效的那么如何解决此问题呢,下面我们一起来看看。定义和用法
file_exists() 函数检查文件或目录是否存在。
如果指定的文件或目录存在则返回 true,否则返回 false。
例子1
代码如下 | 复制代码 |
<?php 输出: 1 |
例子2
代码如下 | 复制代码 |
$realname='中文.txt';
// 永远都进不了这里 } |
输出结果是 www.111cn.net 提醒你文件不存在了
但我很惊讶呀文件是存在了,并且路径也没有问题php文件与中文.txt在同一目录所以这样写是没有问题,于时想想会不会是中文问题于,我对编码进行转换
解决方案:
代码如下 | 复制代码 |
$realname='中文.txt'; if(file_exists(iconv('UTF-8','GB2312',$realname))) { // 这样就可以支持了 } |
结果显示1 ,问题解决了
一聚教程小编提醒你,在php中最好不要使用中文名字,像apache,linux,php这些对中文支持不怎么好,所以大家尽量使用英文哦。
自动补足空白位数在php中str_pad函数可以帮我们实现哦,str_pad() 函数把字符串填充为指定的长度。
str_pad() 函数把字符串填充为指定的长度。
语法
str_pad(string,length,pad_string,pad_type)
参数 | 描述 |
---|---|
string | 必需。规定要填充的字符串。 |
length | 必需。规定新字符串的长度。如果该值小于原始字符串的长度,则不进行任何操作。 |
pad_string | 可选。规定供填充使用的字符串。默认是空白。 |
pad_type |
可选。规定填充字符串的那边。 可能的值:
|
例
代码如下 | 复制代码 |
$cardCount = 10; print_r($arr); Array ( [0] => 0000000001 [1] => 0000000002 [2] => 0000000003 [3] => 0000000004 [4] => 0000000005 [5] =>0000000006 [6] => 0000000007 [7] => 0000000008 [8] => 0000000009 [9] => 0000000010 ) |