PHP简单 对象(object) 与 数组(array) 的转换

/**
 * 数组 转 对象
 *
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr)
{
    if (gettype($arr) != 'array')
    {
        return;
    }
    foreach ($arr as $k => $v)
    {
        if (gettype($v) == 'array' || getType($v) == 'object')
        {
            $arr[$k] = (object)array_to_object($v);
        }
    }
    return (object)$arr;
}
/**
 * 对象 转 数组
 *
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj)
{
    $obj = (array)$obj;
    foreach ($obj as $k => $v)
    {
        if (gettype($v) == 'resource')
        {
            return;
        }
        if (gettype($v) == 'object' || gettype($v) == 'array')
        {
            $obj[$k] = (array)object_to_array($v);
        }
    }
    return $obj;
}

php curl函数采集网页出现乱码问题解决方法

这个会乱码 http://wthrcdn.etouch.cn/WeatherApi?city=厦门

curl乱码有两个方面的原因一个是因为我们采集页面的php页面编码与远程文档编码不致导致的,另一种可能是页面进入了gzip压缩传输导致的,那么我们要如何解决这些问题呢?

gzip压缩传输导致乱码

今天在采集京东的时候发现返回的数据是乱码,网上说可能和压缩有关,看了一下京东的头信息的确进行gzip加密,好吧,那就解压吧

 代码如下 复制代码
$return = gzdecode($return); //将return的字符进行解码

另一种解决办法

curl_setopt($ch, CURLOPT_ENCODING, ‘gzip’);

页面编码问题

 代码如下 复制代码
mb_convert_encoding($str, ‘utf-8’, ‘GBK,UTF-8,ASCII’);就行了

来源:http://www.111cn.net/phper/31/62769.htm