一个数组变换问题

做开发的时候遇到一个问题,现在记录一下.顺便说一句,PHP内置的函数能实现的,一定要用内置函数实现,看来还是对php.net了解不够啊~ 需要将如下数组

array(4) {
  ["id"]=>  array(2) {
    [0]=>    string(1) "1"
    [1]=>    string(1) "2"
  }
  ["name"]=>  array(2) {
    [0]=>    string(7) "这是1"
    [1]=>    string(7) "这是2"
  }
  ["spec"]=>  array(2) {
    [0]=>    string(1) "x"
    [1]=>    string(1) "y"
  }
  ["quan"]=>  array(2) {
    [0]=>    string(2) "22"
    [1]=>    string(2) "23"
  }
}

转换成:

array(2) {
  [0]=>
  array(4) {
    [id]=>    string(1) "1"
    [name]=>    string(7) "这是1"
    [spec]=>    string(1) "x"
    [quan]=>    string(2) "22"
  }
  [1]=>
  array(4) {
    [id]=>    string(1) "2"    
    [name]=>    string(7) "这是2"
    [spec]=>    string(1) "y"
    [quan]=>    string(2) "23"
  }
}

这种格式.其实这个非常简单就可以实现:

function user_array_flip($arr){
    $data = array();
    foreach($arr as $k => $v){
        foreach($v as $id => $val){
            $data[$id][$k] = $val;
        }
   }
    return $data;
}
var_dump(user_array_flip($array));

简单的循环就可以搞定,这里主要是想提一下一种更简便的方式:

- 阅读剩余部分 -

总结一些常用的MYSQL查询语句,供备忘

mysql语句基础。

- 阅读剩余部分 -

处理wordpress在nginx上500错误一例

在nginx上做wordpress博客,如果你使用了wordpress自带的固定连接功能,那一定会涉及到修改rewrite的地方, 因为wordpress默认是修改仅apache支持的.htaccess的规则. 如果是nginx用户,通常会在conf/nginx.conf内添加如下:

- 阅读剩余部分 -

python学习笔记

2012-10-20 00:30 装了ubuntu12.10 AMD64,说实话Linux还是ubuntu用的顺手一些.

12.10装好以后默认就安装好了python.含有2.7.2和3.0以及3.3几个版本.

svn co http://code.djangoproject.com/svn/django/trunk djtrunk 通过SVN拿到最新的django版本

/usr/lib/python2.7/dist-packages 里加入django,pth指向djtrunk 目录

ln -s /path/to/django/bin/django-admin.py /usr/local/bin/django-admin.py 给django-admin.py做个快捷方式

随便进个目录,django-admin.py startproject 建立一个项目

值得一提的,py文件第一句加上#coding=utf8防止乱码

- 阅读剩余部分 -

写了个简单的svn在线管理工具

SVN好用,但是每次更新都要到线上环境去更新,很是麻烦.对于我这样的写到哪就提交到哪的人来说更是噩梦. 所以花了点时间写了个svn在线管理的小程序 主要功能是在线 svn up,checkout,commit,比对 等操作,这样就省去为了更新线上版本去开secureCRT的过程 给出一些截图,等稍微完善一些了后会放出  

- 阅读剩余部分 -

Linux超帅命令:xargs

介绍: 大家常用的Linux命令大概在20多个的样子,除了基本的find、grep、awk啥的,还有一些配合起来有意思的命令,结合起来使用强大,这就是Unix的设计哲学:K.I.S.S 1. 拷贝文件(除了某些文件或目录之外的文件) [heiyeluren@localhost php5]$ ls bin data etc include ini lib logs man old php.ini php.ini.20110505 phplib ral sbin var 上面文件列表里比如我们不想拷贝 data/logs 两个目录,那么就可以使用grep -v 去掉后再调用 xargs 来拷贝其他文件: [heiyeluren @localhost php5]$ ls | grep -v log | grep -v data | xargs -i cp -rf {} /home/heiyeluren /code/php5/ 说明: -i 参数是指定 {} 代表我们当前列出来的文件名字。

- 阅读剩余部分 -

OAuth 2.0规范中文翻译版,提供下载

OAuth协议致力于使网站和应用程序(统称为消费方)能够在无须用户透露其认证证书的情况下,通过API访问某个web服务(统称为服务提供方)的受保护资源。更一般地说,OAuth为API认证提供了一个可自由实现且通用的方法。这是OAUTH2.0的规范,新浪微博和人人网都在用。 点击下载 : OAuth_2.0_中文译本

给自己的微博做了一些简单接口,提供源码

现在已经可以去调用获得带分页的微博数据,可以通过接口发布简单的文字,当然前提是需要通过身份验证. 现在博客的左侧导航里就是通过接口提取到的微博信息 如下图 当然可以通过rss的xml解析,但是一来速度不如直接用webservice来的快(其实这个多虑了,99%的跨站调用效率瓶颈都不是在所使用的方法而是在于网络本身),二来与自己不折腾不快乐的精神不符,所以果断还是花了一个小时弄出来了 其实也没多大意思,就图个好玩罢了,安卓端的应用也正在写,到时候可以手机发微博自娱自乐.   提供源码,安装方法在压缩包内.点我下载~~

- 阅读剩余部分 -

一个简单的PHP Router

首先建立一个PHP文件 server.php

<?php
// filename: server.php
print_r($_SERVER);

用curl看看抓到了什么

<?php
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL,'http://cc.com/server.php/segement/input');
curl_setopt($ch2, CURLOPT_HEADER, true);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
$orders = curl_exec($ch2);
curl_close($ch2); 
echo $orders;

- 阅读剩余部分 -

Python3.x和Python2.x的区别

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.3,所以书上写的地方好多都不适用于Python3.3,特意搜索了一下3.x和2.x的区别。特此在自己的博客中记录一下,以备以后查找方便,也可以分享给想学习Python的friends. 以下内容来自于网络.继续阅读:http://wiki.python.org/moin/Python2orPython3   1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果。 Py3.1性能比Py2.5慢15%,还有很大的提升空间。

- 阅读剩余部分 -

MacType对于前端设计的影响,附下载地址

对比参照正在浏览这里的你,你会发现MacType会让前端设计师对自己设计的页面的认知上造成一定的影响,这点很不好...   MacTypeInstaller_2012_0406_0用下载工具为佳

挪威的森林

话说内容实在是有一些粗俗,所以各位还是直接看截图好了,粘贴会死~~

超级擦车的一个讨厌地方

难道所有的Wordpress使用者都在使用Apache么?为何没有Nginx版本的Wordpress超级擦车呢? 比如super cache只认 mod_rewrite,这点让我很是蛋疼,Nginx默认就支持这个啊,还非要在后台不停提示我没开启没开启. 一怒之下只能想歪招了 这里要说一下,不是真的可以让 Nginx 支持Apache的mod_rewrite.因为如果你的web服务器是 Nginx ,那么你的 WordPress 就会提示你的服务器环境不支持 mod_rewrite 了 所以只是欺骗WordPress一下 ,让它认为是支持mod_rewrite 方法是在主题的 functions.php 文件添加下面的代码:

add_filter('got_rewrite', 'nginx_has_rewrites');
function nginx_has_rewrites() cialis online pharmacy {
    return true;
}

另外,因为Nginx运行PHP是用PHP-FPM的,所以有时会导致WordPress认为php没有写权限,表现为无法自动升级,和升级插件等,在functions.php里加入如下代码:

add_filter('filesystem_method', 'nginx_make_filesystem_direct');
function nginx_make_filesystem_direct() {
    return 'direct';
}

 

记在nginx上安装wordpress超级擦车,顺带实现rewrite

标题喜感一些~ 呵呵,其实就是WP SUPER CACHE 这个插件 众所周知WP自身没有缓存机制,这是让人多么蛋疼的一件事情啊~,程序本身做大以后就已经臃肿得让人受不了了,而且这丫居然没缓存,我这个前端CSS<8K,JQ调用SAE的小博客的速度都让人要抓狂了,何况那些装了若干插件的呢. 所以今天没办法啦,必须要好博客好好整一整了. 比较影响速度的因素有: 1. 后台(PHP+MySQL): 根据请求,运行语句,操作数据库,生成页面返回

效率低的或查询量大会让cpu飙升2. 线路Ping 命令大家都会用,这时间就代表一个来回
(Ping偶尔会Timeout超时,也就是所谓的丢包,常规原因有2种:真丢,假丢 ; 例如有些服务器设置侦测到集中密集的ICMP包会选择性的丢弃掉 ;10次里丢1次完全不同于10次访问有一次打不开,网页是走 TCP/IP 需要3次握手 .Ping 相对重要的参数就是时间了,国外一般200-300ms左右,国内一般100内)3. 前台: 闻名的 yslow 34 rules, 做了这些简单的调整, 可以明显的提速25%-50%

- 阅读剩余部分 -

今晚晚餐

20121009-180717.jpg20121009-180804.jpg