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

array_unique对阿拉伯字符串无效,如何去除阿拉伯字符重复值?

解决阿拉伯字符串去重问题

你的代码里有几个关键错误导致array_unique没起作用,直接修正如下:

错误分析

  1. 变量名遗漏$符号:step1、step2、step3都是PHP变量,调用时必须加$前缀,原代码里的implode(' ',step1)、array_unique(step2)、echo "step3"都是错误写法。
  2. 步骤逻辑错误:你把拆分后的数组转成了字符串$step2,再把字符串传给array_unique——但array_unique只能处理数组,字符串会被当成单个元素的数组,自然没法去重。

修正后的代码

$input = "اللہ";
// 拆分UTF-8字符串为单个字符的数组
$step1 = preg_split("/(?<!^)(?!$)/u", $input);
// 直接对数组去重
$step3 = array_unique($step1);
// 转成带空格的字符串输出
echo implode(' ', $step3);

运行结果

输出就是你期望的:ا ل ھ

如果想简化代码,还可以把步骤合并:

$input = "اللہ";
echo implode(' ', array_unique(preg_split("/(?<!^)(?!$)/u", $input)));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:45:30