引言
虚头巴脑的大道理就不讲了,直接上代码。
我们说一下把PHP嵌套的数组,转换为JSON字符串,提供给JS前端用。
基本面
使用json_encode函数将PHP数组传递给JSON字符串和JavaScript数组。在本文,我们使用多维数组进行演示。一个数组是数字索引的,另外两个是混合数字和字典关联的。
无论PHP数组是单级的还是多级的,或者是数字索引的还是关联索引的,下面的代码放在一个JavaScript段中,将会输出到JavaScript:
你可能希望使用JavaScript的JSON。解析来处理PHP的json_encode的结果,在这种情况下,使用以下代码:
对于下面的示例数组,首先用PHP显示该数组,然后包括用于输出它的json_encode的JavaScript段,然后显示输出。最后展示在JavaScript中用于访问结果数组元素或对象属性的语法。
示例数组1
默认情况下,json_encode将数字索引的PHP数组输出为JavaScript中的数组文本。关联的PHP数组作为对象文本输出。
示例数组2
在json_encode输出中,外层是数组文字,而第二层形成对象文字。下面的代码注释演示了如何使用JSON_PRETTY_PRINT选项和json_encode实现更可读的输出:
更复杂的数组结构
这个例子演示了如何使用JSON。解析json_encode的输出。PHP标记为此用单引号括起来。
访问方式可以是索引键,可以是数字。
我们不能在JSON.parse中使用JSON_PRETTY_PRINT,因为那会导致JavaScript错误:未终止的字符串文字。
写在最后
本文通过深度对比PHP的数组,与JS的JSON对象之间的数值转换,可以较为清晰地掌握关键点,而不至于频频踩坑。
Happy coding 🙂
我是@程序员小助手,持续分享编程知识,欢迎关注。
JavaScript中如何巧妙实现大小写转换?
toLocaleUpperCase 方法:
返回一个字符串,其中所有的字母字符都被转换为大写,同时适应宿主环境的当前区域设置。
stringVar.tolocaleUpperCase( )
必选的 stringVar 引用是一个 String 对象,值或文字。
说明
toLocaleUpperCase 方法转换字符串中的字符,同时适应宿主环境的当前区域设置。在大多数情况下,其结果与利用 toUpperCase 方法所得到的结果是一样的。然而,如果语言规则与常规的 Unicode 大小写映射方式冲突,那么结果就会不同。
toLocaleLowerCase 方法
返回一个字符串,其中所有的字母字符都被转换为小写,同时考虑到宿主环境的当前区域设置。
stringVar.tolocaleLowerCase( )
必选的 stringVar 引用是一个 String 对象,值或文字。
说明toLocaleLowerCase 方法转换字符串中的字符,同时适应宿主环境的当前区域设置。在大多数情况下,其结果与利用 toLowerCase 方法所得到的结果是一样的。然而,如果语言规则与常规的 Unicode 大小写映射方式冲突,那么结果就会不同。
toLowerCase 方法
返回一个字符串,该字符串中的字母被转换为小写字母。
strVariable.toLowerCase( )
"String Literal".toLowerCase( )
说明toLowerCase 方法对非字母字符不会产生影响
下面的示例演示了 of the toLowerCase 方法的效果
var strVariable = "This is a STRING object";
strVariable = strVariable.toLowerCase( );
在执行上一条语句后 strVariable 的值为:
this is a string object
toUpperCase 方法
返回一个字符串,该字符串中的所有字母都被转化为大写字母 。
strVariable.toUpperCase( )
"String Literal".toUpperCase( )
说明toUpperCase 方法对非字母字符不会产生影响。
示例
下面的示例演示了 toUpperCase 方法的效果:
var strVariable = "This is a STRING object";
strVariable = strVariable.toUpperCase( );
在执行上一条语句后 strVariable 的值为:
THIS IS A STRING OBJECT
复制代码 代码如下:
function UpperFirstLetter(str)
{
return str.replace(//b/w+/b/g, function(word) {
return word.substring(0,1).toUpperCase( ) +
word.substring(1);
});
}
怎么将两个一维数组合并成一个二维数组在JavaScript中?
js中可以使用push方法向数组中添加元素。所以,可以使用以下代码实现:
let a1=[1]
let a2=[2]
let newArr=[]
newArr.push(a1,a2)
当然,也可封装为一个函数,如下:
function fn(...params){
let arr=[]
arr.push(...params)
return arr
}
之后直接调用fn即可,如:fn(a1,a2)
手机打字,略有不便,如有错误,烦请指出。
"