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

将TypeScript单行代码转换为PHP的实现疑问

把TypeScript的字符串拼接逻辑转成PHP单行实现

首先先明确你那段TypeScript代码的核心逻辑:

遍历subclass.Ins数组中的每个In对象,将每个对象的OutId和OutIndex拼接成单个字符串,最后把所有这些字符串累加合并成一个完整的字符串,初始值为空字符串。

用PHP的array_map和array_reduce确实可以实现单行写法,代码如下:

$InContent = array_reduce(
    array_map(fn($In) => $In->OutId . $In->OutIndex, $subclass->Ins),
    fn($a, $b) => $a . $b,
    ''
);

代码细节解释:

  • array_map(fn($In) => $In->OutId . $In->OutIndex, $subclass->Ins):对应TS里的map方法,遍历$subclass->Ins数组(PHP中对象属性用->访问),把每个元素的OutId和OutIndex拼接成字符串,生成一个新的字符串数组。
  • array_reduce(..., fn($a, $b) => $a . $b, ''):对应TS的reduce方法,把上面生成的字符串数组逐个累加拼接,第三个参数''是初始值,和TS代码的最后一个参数保持一致。

如果你的PHP版本低于7.4(不支持箭头函数),可以换成匿名函数写法:

$InContent = array_reduce(
    array_map(function($In) {
        return $In->OutId . $In->OutIndex;
    }, $subclass->Ins),
    function($a, $b) {
        return $a . $b;
    },
    ''
);

这样就能完全复刻原TypeScript代码的功能啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:35:34