legend---八、php对象如何转换成js对象

一、总结

一句话总结:a、直接转换;b、通过json对象做中间桥梁

1、为什么传递给父亲构造函数的参数不能写默认值?

这里的第三行的比如$type不能写成$type=60,因为这样的话第二行的$type=60没有了意义,而且也没办法从外部改变$type的值,也就是没办法从外部把$type的值传进来了。

 class MonsterGeneral extends Monster {
public function __construct($grade,$attrType,$type=60) {
parent::__construct($grade,$attrType,$type);
}
}

2、thinkphp中的类名中的下划线怎么使用?

不要在类名中用下滑线,因为php默认会把大写字母解析成下划线,你加了下划线它就找不到了

比如:BattlegroundMain会解析成battleground_main

所以如果你写成Battleground_main,系统就找不到了

所以要用的时候直接驼峰法用大写字母,不要用下滑线

3、php中如何保留两位小数?

 $num = 10.4567;

     //第一种:利用round()对浮点数进行四舍五入
echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串
$format_num = sprintf("%.2f",$num);
echo $format_num; //10.46 //第三种:利用千位分组来格式化数字的函数number_format()
echo number_format($num, 2); //10.46
//或者如下
echo number_format($num, 2, '.', ''); //10/46

4、php对象如何转换成js对象?

a、直接转换

 <script>
var monster=new Object();
monster.name="{$monster->name}";
monster.grade="{$monster->grade}";
monster.attrType="{$monster->attrType}";
monster.type="{$monster->type}";
monster.experience="{$monster->experience}";
monster.money="{$monster->money}";
monster.ur_hp_now="{$monster->attr['ur_hp_now']['a_value']}";
monster.ur_mp_now="{$monster->attr['ur_mp_now']['a_value']}";
monster.ur_anger_now="{$monster->attr['ur_anger_now']['a_value']}";
monster.ur_hp="{$monster->attr['ur_hp']['a_value']}";
monster.ur_mp="{$monster->attr['ur_mp']['a_value']}";
monster.ur_anger="{$monster->attr['ur_anger']['a_value']}";
for(x in monster){
console.log(x+' '+monster[x]);
} </script>

b、通过json对象做中间桥梁

5、php对象如何转换成json对象?

PHP把一个对象转化成json字符串,而不是转成数组

参考:http://www.php.net/manual/en/function.json-encode.php

json_encode参数:http://php.net/manual/en/json.constants.php

方法:

$json_string = json_encode($object, JSON_FORCE_OBJECT);

区别:

json_encode($object);

//结果:"[{"aa":"bb","cc":"dd"}]"

json_encode($object,JSON_FORCE_OBJECT);

//结果:"{"aa":"bb","cc":"dd"}"

6、php 怎么将任意编码的内容转换成utf-8?

最简单的:
$str = iconv("gbk", "utf-8//ignore", $str);
或者:
$str = mb_convert_encoding($str, "utf-8", "gbk");

稍微解释一下 //ignore 的意思是转换不了的字符就忽略。建议把这个写上。否则遇到转换不了的字符会报错。gbk替换成你需要转换的编码就可以了。

7、php中json_encode方法的使用注意事项是什么?

json_encode — 对变量进行 JSON 编码

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

待编码的 value ,除了resource 类型之外,可以为任何数据类型。

所有字符串数据的编码必须是 UTF-8。

感觉手册中的例子都是转array的

Example #1 json_encode() 例子

<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);
?>

8、php将数组键中的所有的*弄掉如何实现?

键值互换,

替换掉值中的*

键值互换

array(9) {
["*questions"] => NULL
["*grade"] => string(1) "1"
["*attrType"] => string(1) "3"
["*type"] => string(1) "1"

这样不行,因为

array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。

如果原数组中的值的数据类型不是字符串或整数,函数将报错。

下面代码即可:

 //去掉有protected属性造成的键值前面的*
foreach ($monster_handel as $key=>$val){dump($key);
$key2=str_replace("*","",$key);
$monster_handel[$key2]=$val;
unset($monster_handel[$key]);
}

9、php键值互换函数?

array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值。

array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。

如果原数组中的值的数据类型不是字符串或整数,函数将报错。

10、\u0000是什么?

\u开头的是一个Unicode码的字符,每一个'\u0000'都代表了一个空格

11、php对象赋值不传引用如何实现?

对象复制可以通过 clone 关键字来完成

$monster_handel=clone $monster;

12、js如何创建数组?

定义数组

数组对象用来在单独的变量名中存储一系列的值。

我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:

var myArray=new Array()

有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。

1:

var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"

也可以使用一个整数自变量来控制数组的容量:

var mycars=new Array(3)
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"

2:

var mycars=new Array("Saab","Volvo","BMW")

二、内容在总结中

 

legend---八、php对象如何转换成js对象的更多相关文章

  1. react中jsx文件是如何转换成js对象的

    通过在线babel转换器,转换出jsx是如何变成js对象的 jsx文件 加入了正常的标签以及嵌套标签以及方法属性 function hello() { click=()=>{ console.l ...

  2. html5中将图片的绝对路径转换成文件对象

    html5中将图片的绝对路径转换成文件对象 将图片的绝对路径转换成base64编码,请看这篇文章 我们先来理解基本知识点: 1. 理解HTML5中的FileList对象与file对象. 在HTML5中 ...

  3. jQuery、JS读取xml文件里的内容(JS先通过document.implementation.createDocument方法将xml转换成document对象,jQuery将读取到的xml转成table)

    xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...

  4. JS 将对象转换成字符 字符串转换成json对象

    //js对象 var user = { "name": "张学友", "address": "中国香港" }; //将对 ...

  5. js中将json字符串转换成json对象

    在我们使用js请求后台控制器传回的结果result值的时候,经常会出现返回结果值为json字符串的情况,字符串无法在js中直接使用 返回样式栗子: 这是一个json字符串:result = " ...

  6. js中json字符串转成js对象

    json字符串转成js对象我所知的方法有2种: //json字符串转换成json对象 var str_json = "{name:'liuchuan'}"; //json字符串 / ...

  7. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  8. Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

    Razor 将C#对象转换成Javascript对象 在Razor中使用Json字符串,特殊字符被自动转义(如:\"->") @{ var jsonStr = Html.Ra ...

  9. 05 HTML字符串转换成jQuery对象、绑定数据到元素上

    1 要求 将一段 HTML脚本 封装成一个字符串,将这个字符串转换成一个jQuery对象:然后将这个jQuery对象添加到指定的元素中去 2 步骤 定义字符串 var str = '<div i ...

随机推荐

  1. org.apache.hadoop.ipc.Client: Retrying connect to server

    这个问题导致jps查看结点进程时发现找不到NodeManager或一段时间后消失,网上查找了很多博客,因hadoop版本不一样且出错的原因也可能不同,所以找了老半天. 步骤:jps --> 看l ...

  2. LeetCode104_MaximumDepthofBinaryTree Java题解

    题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  3. Light OJ 1317 Throwing Balls into the Baskets 概率DP

    n个人 m个篮子 每一轮每一个人能够选m个篮子中一个扔球 扔中的概率都是p 求k轮后全部篮子里面球数量的期望值 依据全期望公式 进行一轮球数量的期望值为dp[1]*1+dp[2]*2+...+dp[ ...

  4. Http抓包工具--查尔斯

    查尔斯 查尔斯:http://www.charlesproxy.com/ 这是比較好用的抓包工具.有Mac.Windows.Linux版本号.能够相应用程序.浏览器.手机.手机模拟器进行抓包. 官方站 ...

  5. ThinkPHP5.0框架开发--第4章 TP5.0路由

    ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...

  6. VM虚拟机上的CentOS 7系统重置root用户密码

    1.开机在进入CentOS系统时(还未进入系统内)的系统选择页面时按E键进入系统编辑模式 2.找到Linux16开头的这行代码,用方向键将光标移动至这行代码的结尾,键入一个空格和rd.break,然后 ...

  7. Resolving Problems installing the Java JCE Unlimited Strength Jurisdiction Policy Files package--转

    原文地址:https://www.ca.com/us/services-support/ca-support/ca-support-online/knowledge-base-articles.tec ...

  8. 获取xml字符串中的属性值

    pagexml = @"<?xml version='1.0' encoding='utf-8'?> <DATAPACKET Version='2.0'> <M ...

  9. 【原创】JMS生产者和消费者【PTP异步接收消息】

    PTP模式下,异步接收消息需要定义一个MessageListener来监听,当生产者有消息要发送时会主动通知Listener去处理该消息,会调用监听的onMessage方法去处理. 首先看生产者(和同 ...

  10. iptables 简单介绍及应用 Linux防火墙

    iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...