免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2051 | 回复: 0
打印 上一主题 下一主题

weicky的php变量转换js变量函数-php2js [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-29 14:52 |只看该作者 |倒序浏览
// 支持变量类型:
// int double string array object
// 例:
// $arr = array(
// 'key1' => 'value1',
// 'key2' => 'value2',
// 'key3' => 2334,
// 'key'4 => array(1,2,3)
// );
//  php2js($arr);
// php2js_assign 函数生成一个赋值表达式而不新声明一个js变量
function php2js_assign($js_name,$js_value)
{
        switch(gettype($js_value))
        {
                case "string":
                        $js = "{$js_name} = '{$js_value}';\r\n";
                        break;
                case "double":
                case "integer":
                        $js = "{$js_name} = {$js_value};\r\n";
                        break;
                case "boolean":
                        if($js_value) $js = "{$js_name} = true;\r\n"; else $js = "{$js_name} = false;\r\n";
                        break;
                case "array":
                        $js = "{$js_name} = new Array();\r\n";
                        foreach($js_value as $key => $value)
                        {
                                $sub_name = $js_name."['{$key}']";
                                $js .= php2js_assign($sub_name,$value);
                        }
                        break;
                case "object":
                        $js = "{$js_name} = {};\r\n";
                        $vars = get_object_vars($js_value);
                        foreach($vars as $key => $value)
                        {
                                $sub_name = $js_name."['{$key}']";
                                $js .= php2js_assign($sub_name,$value);
                        }
                        break;
                case "NULL":
                        $js = "{$js_name} = null;\r\n";
                        break;
                default:
                        break;
        }
        return $js;
}
function php2js($js_name,$js_value)
{
        return "var ".php2js_assign($js_name,$js_value);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP