我遇到了array_unique
的问题,其中没有删除重复值。
<?php
$mfgName = 'blah';
$prodModel = '178.211';
$name ='178.211 remove this number';
$input = array($mfgName, $prodModel, $name);
$st =array_unique($input);
$str= implode(' ', $st);
echo $str;
?>
输出应为:
blah 178.211 remove this number
但我明白了:
blah 178.211 178.211 remove this number
答案 0 :(得分:1)
只需更改
$input = array($mfgName, $prodModel, $name);
到
$input = array_merge(array($mfgName, $prodModel), explode(" ",$name));
这会将字符串$name
拆分为数组,并且array_unique按预期工作。
答案 1 :(得分:0)
您可以在$ name上使用explode来获取其中的单个单词,并构造一个包含$ prodModel和$ name单词的数组,然后使用$ array_unique来删除重复的单词。
$nameWords = explode(' ', $name);
array_push($nameWords, $prodModel);
$uniqueWords = array_unique($nameWords);
$result = implode(' ', $uniqueWords);