当前位置:  编程技术>php
本页文章导读:
    ▪php 5.3.5安装memcache注意事项小结       安装php扩展:windows 下的 memcache步骤 1.下载php的扩展dll:http://downloads.php.net/pierre/ (如果上述目录没有符合你的php的编译版本的dll就去google下吧,会有很多的哦!) 下面是我安装的版本(因为我.........
    ▪php处理json时中文问题的解决方法       操作的代码如下: 代码如下: <?php $usr = new User(); echo json_encode($usr); ?> 很简单的代码,无中文情况一切正常,输出如下: {"PlatformID":"123213","UserID":"1023"} 一旦有中文的时候会出现两种情况.........
    ▪php 面向对象的一个例子       代码如下: <?php class person{ //下面是人的成员属性 var $name; //人的名字 var $sex; //人的性别 var $age; //人的年龄 //定义一个构造方法参数为姓名$name,性别$sex和年龄$age function __construct($name,$sex,$ag.........

[1]php 5.3.5安装memcache注意事项小结
    来源: 互联网  发布时间: 2013-11-30

安装php扩展:windows 下的 memcache步骤

1.下载php的扩展dll:http://downloads.php.net/pierre/

(如果上述目录没有符合你的php的编译版本的dll就去google下吧,会有很多的哦!)

下面是我安装的版本(因为我的php是vc6编译的):

 

2.将下载的.dll放入php的扩展目录下面,一般在php目录中的ext 文件夹中。

3.修改apache目录下bin文件夹中的php.ini,加上extension=php_memcache.dll即可。

4.重启apache服务器,用phpinfo()查看,出现memcache说明配置正确. 

值得注意的是:

必须注意php的编译版本,下载memcache的时候注意要使用同样的编译版本;比如php是使用vc6编译的,那么memcache也应该使用vc6编译版本。


    
[2]php处理json时中文问题的解决方法
    来源: 互联网  发布时间: 2013-11-30
操作的代码如下:
代码如下:

<?php
$usr = new User();
echo json_encode($usr);
?>

很简单的代码,无中文情况一切正常,输出如下:
{"PlatformID":"123213","UserID":"1023"}
一旦有中文的时候会出现两种情况。

第一种情况是对象本身的某个值为中文的属性是utf-8编码,则会有如下输出:


{"PlatformID":"123213","UserID":"1023","UserName":"\u00b7\u00f0\u00b5\u00b2\u00c9\u00b1\u00b7\u00f0\u00cc\u00fc"}
其中的UserName是非人类语言,这个是正常的,如果我们用firebug看下就是中文的。(这个纠结了我半天)

第二种情况是非utf-8编码,输出会变成null:

{"PlatformID":"123213","UserID":"1023","UserName":null}
很奇怪,查了手册后知道json_encode是只对utf-8有效,其它编码均会变为null.


下面就开始解决编码转化的问题。
在php.net上看到别人的函数如下:
代码如下:

private function to_utf8($in)
{
if (is_array($in)) {
foreach ($in as $key => $value)
{
$out[$this->to_utf8($key)] = $this->to_utf8($value);
}
}
elseif(is_string($in))
{
if(mb_detect_encoding($in) != "UTF-8")
return utf8_encode($in);
else
return $in;
}
else
{
return $in;
}
return $out;
}

于是拿下来转换编码发现已经不为null.欣喜之下用firebug打开,发现并不是我原来的中文字符....开始纠结......
难道是要让他转换成原来的编码?回去寻找原始编码......
测试开始:

1.把$usr->UserName直接输出,页面头设置charset=utf-8.乱码
2.echo json_encode($usr)输出UserName=null
3.页面头设置为charset=gbk,输出正确->可以确定原编码为gbk
最后通过IE,Chrome,Firefox测试得出结论:


1.保证页面字符集与数据库一致,输出一定正常 。
2.做json_encode时保证数据编码是utf-8,json_decode正常。
3.如果要对非utf-8字符做json_encode,先转换成utf-8。
4.对非utf-8字符做json_decode的时候,千万不能忘记转换成原先的编码,否则会输出乱码!!
困扰了一天的问题终于搞定了。

    
[3]php 面向对象的一个例子
    来源: 互联网  发布时间: 2013-11-30
代码如下:

<?php
class person{
//下面是人的成员属性
var $name;
//人的名字
var $sex;
//人的性别
var $age;
//人的年龄
//定义一个构造方法参数为姓名$name,性别$sex和年龄$age
function __construct($name,$sex,$age){
//通过构造方法传进来的$name给成员属性$this->name赋初始值
$this->name=$name;
//通过构造方法传进来的$sex给成员属性$this->sex赋初始值
$this->sex=$sex;
//通过构造方法传进来的$age给成员属性$this->age赋初始值
$this->age="$age";
}
//下面是人的成员方法
function say()
//这个人可以说话的方法
{
echo "我的名字叫:".$this->name."性别;".$this->sex."我的年龄是:".$this->age."<br>";
}
function run() //这个人可以走路的方法
{
echo "这个人在走路";
}
//这是一个析构函数,在对象销毁前调用
function __destruct()
{
echo "再见".$this->name."<br>";
}
}
//通过构造方法创建3个对象$p1,$p2,$p3,分别传入三个不同的实参为姓名性别和年龄
$p1=new person("小明","男",20);
$p2=new person("熊","女",30);
$p3=new person("向日葵","男",25);
//下面访问3个对象的说话方式$p1->say();$p2->say();$p3->say();
?>

输出结果为:
我的名字叫:小明性别;男我的年龄是:20
我的名字叫:熊性别;女我的年龄是:30
我的名字叫:向日葵性别;男我的年龄是:25
再见向日葵
再见熊
再见小明

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
CSS属性参考手册 iis7站长之家
▪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