You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP Session数组赋值Vue变量及显示异常问题排查

问题解决:PHP Session数组赋值给Vue变量的正确方式

你的问题出在代码把JSON字符串包裹进了Vue数组的元素里,导致permissions变成了包含JSON字符串的数组,而非直接可使用的对象数组。

错误原因

当前代码:

permissions:['<?php echo json_encode($_SESSION['permissions']) ?>'],

执行后,Vue拿到的是["[{...}]"]这种结构——外层是数组,里面唯一元素是JSON格式的字符串,所以this.permissions[0][0]只会取到字符串的第一个字符[,自然没法访问对象属性。

正确写法

方案1:直接赋值解析后的对象数组(推荐)

去掉外层数组包裹,让json_encode输出的JSON直接作为Vue变量的值:

permissions: <?php echo json_encode($_SESSION['permissions']) ?>,

json_encode($_SESSION['permissions'])会输出合法的JSON数组(比如[{"id_grupy":"4",...}, {...}]),Vue会自动将其解析为JavaScript对象数组。此时直接用this.permissions[0].uprawnienia就能拿到对应字段值。

方案2:保留数组包裹,手动解析JSON

如果业务逻辑必须保留外层数组,需要用JSON.parse解析内部的JSON字符串:

permissions: [JSON.parse('<?php echo json_encode($_SESSION['permissions']) ?>')],

此时this.permissions[0]就是解析后的对象数组,可通过this.permissions[0][0].uprawnienia访问目标字段。

验证

用方案1后,执行console.log(this.permissions),会输出和PHP中var_dump($_SESSION['permissions'])结构一致的JavaScript对象数组,即可正常操作内部字段。

内容的提问来源于stack exchange,提问作者SEO fKings

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 11:35:20