Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中删除数组中的重复单词_Php_Arrays - Fatal编程技术网

如何在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

我的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[] = $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问题。