如何在php中删除数组中的重复单词
我的PHP脚本如下所示:如何在php中删除数组中的重复单词,php,arrays,Php,Arrays,我的PHP脚本如下所示: while ($row = mysql_fetch_array($rc)) { echo $post; $pieces = explode("|", $row['texto']); $row['texto'] = $pieces[0]; $result = strtolower(str_replace('"', '"', $row['texto'])).'"'.$row['id']; $a[] = $resul
while ($row = mysql_fetch_array($rc)) {
echo $post;
$pieces = explode("|", $row['texto']);
$row['texto'] = $pieces[0];
$result = strtolower(str_replace('"', '"', $row['texto'])).'"'.$row['id'];
$a[] = $result;
//$a[]= array('texto'=>$result);
$post = "\n";
}
$b = array_unique($a);
foreach ($b as $key => $value) {
echo $value;
}
我试图做的是使用array\u unique()
从数组中删除冗余值并打印它。除了在我的数组中只能看到一个值这是我猜的第一个值之外,其他一切都正常工作
有人能帮我吗?这个代码有什么问题
$row['texto'] = $pieces[0];
这将仅获取分解数组的第一个值
while ($row = mysql_fetch_array($rc)) {
echo $post;
$pieces = explode("|", $row['texto']);
$row['texto'] = $pieces;
$post = "\n";
}
$b = array_unique($row['texto']);
foreach($b as $value) {
$result = strtolower(str_replace('"', '"', $value));
echo $value;
}
请试试这个。你能用
print\r($a)
给我们一个你的$a
数组内容的示例吗?@Vikram:请写一个输入和相应输出的示例。@Vikram一点不相关的建议;您应该使用PDO或至少mysqli来与数据库通信,而不是使用mysql;这样做更安全、更优化。。PS:很高兴看到另一个开发人员在打鼓;)=>
这是一个输入错误吗?您在值后面追加了$row['id']
,您真的也包括了吗?否:)。在while循环中,我将其分解以获得字符串的第一个单词,该字符串将
作为分隔符,然后我将创建另一个数组<代码>$b从中我必须去掉唯一的单词。请看一下这张照片,我相信他们是故意拍每行的第一张。这不是他们的问题。@AndreaFaulds是的,这不是问题。您可以像这样创建$b“$b=array\u unique($row['texto']);”代码>但此处“$row['texto']=$pieces[0];”将$row['texto']更改为单个value@arunc这个答案至少在两个方面是错误的:不工作(覆盖mysql结果中每一行的$row['texto']
,因此在末尾只有一个),并且不回答OP问题。