質問

リモートで動作する画像アップローダーを作成したため、ユーザーがリンクの束を入力するたびに、複製リンクが追加されないように、画像が2回コピーされず、削除されてリンクを削除するようにします。複製。

$break = explode("\n", $links);
$count = count($break);

$unique_images = array();

for($i = 0; $i < $count; $i++)
{
    array_push($unique_images, $break[$i]); 
}

array_unique($unique_images);

コードの残りの部分は機能しますが、なぜ機能していないのかわからないだけです。 foreach ループですが、それも役に立ちませんでした。

私は持っています error_reporting に設定 E_ALL しかし、エラーはありません。私が使う var_dump アレイで、私はこれを取得します:

array(3) 
{ 
     [0]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
     [1]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
     [2]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
} 

どうして array_unique 複製を削除しませんか?

役に立ちましたか?

解決

array_unique() 戻り値 新しい配列、配列を所定の位置に変更しません。

入力配列を使用して、値を重複せずに新しい配列を返します。

$unique_images = array_unique($unique_images);

他のヒント

array_unique 戻り値 フィルタリングされた配列は、それを変更する代わりに。最後の行を変更します。

$unique_images = array_unique($unique_images)

そして、それは機能しているはずです。

あなたはただできる:

$unique_images = array_unique(explode("\n", $links));

array_unique 関数は、削除された複製を備えた新しい配列を返します。したがって、返品価値を収集する必要があります。

また explode あなたを返します 配列 直接フィードできます array_unique.

$unique_images = array_unique($unique_images);

それ以外の場合は、結果を単に破棄します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top