2011-02-03 2 views
0

HI allУдалить повторяющиеся значения из массива?

Может кто-то пожалуйста, пожалуйста, помогите мне, пытаясь разобраться в этом какое-то время, теперь царапая мою голову.

Я добавляю ссылки на массив SESSION здесь, это мой код.

session_start(); 
$test = $_GET; 
$_SESSION['value'][]=$test; 
echo "<pre>"; 
//print_r($_SESSION); 
echo "</pre>"; 


$turn = $_SESSION['value']; 

foreach (array_reverse($turn) as $value) { 

$furl = "http://example.s3.amazonaws.com/".urlencode($value['tune_name']); 

echo $furl; 

} 

вот результат работы print_r ($ _ SESSION);

Array 
(
    [attach] => Array 
     (
     ) 

    [backups-2] => true 
    [dnb] => true 
    [house] => true 
    [tech-house] => true 
    [uk-garage] => true 
    [uk-grime] => true 
    [uk-hip-hop] => true 
    [uncategorized] => true 
    [warehouse] => true 
    [active] => 
    [value] => Array 
     (
      [0] => Array 
       (
        [tune_name] => Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [submit] => Listen 
       ) 

      [1] => Array 
       (
       ) 

      [2] => Array 
       (
        [tune_name] => Music/dnb/Abort_Delta Heavy_192.mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/Abort_Delta Heavy_192.mp3 
        [submit] => Listen 
       ) 

      [3] => Array 
       (
        [tune_name] => Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [submit] => Listen 
       ) 

      [4] => Array 
       (
        [tune_name] => Music/dnb/21st Century (Feat. Cabbie)_Tantrum Desire_192.mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/21st Century (Feat. Cabbie)_Tantrum Desire_192.mp3 
        [submit] => Listen 
       ) 

      [5] => Array 
       (
        [tune_name] => Music/dnb/Abort_Delta Heavy_192.mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/Abort_Delta Heavy_192.mp3 
        [submit] => Listen 
       ) 

      [6] => Array 
       (
       ) 

      [7] => Array 
       (
        [tune_name] => Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/03 Twerk feat. Yo Majesty (Sub Focus Remix).mp3 
        [submit] => Listen 
       ) 

      [8] => Array 
       (
        [tune_name] => Music/dnb/Abort_Delta Heavy_192.mp3 
        [tune] => http://example.s3.amazonaws.com/Music/dnb/Abort_Delta Heavy_192.mp3 
        [submit] => Listen 
       ) 

     ) 

) 

так, что я пытаюсь сделать, это цикл через этот массив и показать ссылку, но я не какие-либо повторяющиеся значения.

$turn = $_SESSION['value']; 

foreach (array_reverse($turn) as $value) { 

$furl = "http://example.s3.amazonaws.com/".urlencode($value['tune_name']); 

echo $furl; 

} 

, и это результат, который я получаю от foreach.

http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F03+Twerk+feat.+Yo+Majesty+%28Sub+Focus+Remix%29.mp3 
http://example.s3.amazonaws.com/ 
http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F21st+Century+%28Feat.+Cabbie%29_Tantrum+Desire_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F03+Twerk+feat.+Yo+Majesty+%28Sub+Focus+Remix%29.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/ 

Так раздражает, что я только хочу его показать.

http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F03+Twerk+feat.+Yo+Majesty+%28Sub+Focus+Remix%29.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F21st+Century+%28Feat.+Cabbie%29_Tantrum+Desire_192.mp3 

Поскольку выше оленья кожа имеют какие-либо повторяющиеся значения я пытался так много array_unique hasnt работал для меня может кто-то пожалуйста, помогите?

ответ

0

Вы можете использовать ассоциативный массив, чтобы проверить, уже ли он выведен.

$outputted = array(); 

Использовать $furl в качестве ключа.

foreach (array_reverse($turn) as $value) { 

    $furl = "http://example.s3.amazonaws.com/".urlencode($value['tune_name']); 

    if (isset($outputted[$furl])) { 
     continue; 
    } 

    echo $furl; 

    $outputted[$furl] = true; 

} 
+0

вашего сэр гений работал большое большое спасибо;) – iSimpleDesign

0

проблем нет. Попробуйте следующее:

function filter($val) 
{ 
    static $base=array(); 
    if(in_array($val,$base))return false; 
    $base[]=$val; 
    return true; 
} 
array_filter($arr,"filter"); 

Он удалит любые повторяющиеся значения из массива $ arr.

0

попытка изменения

array_reverse($turn) 

в

array_unique(array_reverse($turn)) 

так это выглядит, как этот

foreach (array_unique(array_reverse($turn)) as $value) { 
    $furl = "http://example.s3.amazonaws.com/".urlencode($value['tune_name']); 
    echo $furl; 
} 
+0

привет спасибо за это попробовало это первый, но не работало или ouptut ничего – iSimpleDesign

0

может быть, вы можете использовать array_unique она отфильтровывает все duplicated значения, как:

$turn = $_SESSION['value']; 

foreach (array_unique(array_reverse($turn)) as $value) { 

$furl = "http://example.s3.amazonaws.com/".urlencode($value['tune_name']); 

echo $furl; 

} 

результат должен быть:

http://example.s3.amazonaws.com/Music%2Fdnb%2FAbort_Delta+Heavy_192.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F03+Twerk+feat.+Yo+Majesty+%28Sub+Focus+Remix%29.mp3 
http://example.s3.amazonaws.com/Music%2Fdnb%2F21st+Century+%28Feat.+Cabbie%29_Tantrum+Desire_192.mp3 
Смежные вопросы