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

Laravel控制器读取接口JSON并提取numbertotal字段前后位的求助

问题解决方法

核心错误原因

  • 错误1:$content是接口返回的原始响应字符串,不支持直接调用属性获取字段值
  • 错误2:numbertotal字段位于解析后的关联数组的customer子层级下,需要从json_decode生成的$customers变量中取值
  • 错误3:代码中调用的$string变量未定义,没有对应赋值逻辑

修正后的控制器代码

$url= 'https://example.com/api';
$client = new \GuzzleHttp\Client();
$res = $client->get($url);
$content = (string) $res->getBody();

// 解析JSON为关联数组
$customers = json_decode($content, true);

// 从正确层级取出numbertotal,转字符串避免数字类型处理异常
$numberTotal = strval($customers['customer']['numbertotal']);
// 提取前两位
$firstNumbers = substr($numberTotal, 0, 2);
// 提取最后一位
$latestNumber = substr($numberTotal, -1);

// 传递到视图示例,可根据你原有传值逻辑调整,原有客户字段调用逻辑不需要修改
return view('你的视图路径', compact('customers', 'firstNumbers', 'latestNumber'));

取值验证

你可以在控制器中临时加dd($firstNumbers, $latestNumber)打印结果,针对示例值1122222223,会得到11和3的正确结果,视图中可以直接通过$firstNumbers、$latestNumber调用处理后的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:36:04