Массив с аналогичным значением удаляется - PullRequest
0 голосов
/ 22 марта 2019

По сути, у меня есть список ассоциативных массивов, и я пытаюсь вывести ключ и значение для всех.Вот код, который у меня есть.

$sites = array("www.google.com" => "Google", "www.apple.com" => "Apple", 
"www.apple.com" => "Apple");
foreach ($sites as $url => $name ){
echo $name . " " . $url . "<br/>"; 
}

Как видите, «яблоко» повторяется и, следовательно, оно не отображается в цикле foreach.Вот вывод кода выше.

Google www.google.com
Apple www.apple.com

Как отобразить все значения массива?

Спасибо.

Ответы [ 3 ]

1 голос
/ 22 марта 2019
Construct multidimensional array as follows. Because your array has duplicate indexes.
$sites = [
            ["www.google.com" => "Google"], 
            ["www.apple.com" => "Apple"], 
            ["www.apple.com" => "Apple"]
         ];

 foreach ($sites as $url_arr ){
      foreach ($url_arr as $url => $name ){
          echo $name . " " . $url . "<br/>"; 
     }
 }
0 голосов
/ 22 марта 2019

Нет необходимости использовать любой цикл.

Вам просто нужно использовать функцию **array_unique()** для удаления повторяющихся значений.

<?php

$sites = array("www.google.com" => "Google", "www.apple.com" => "Apple", 
"www.apple.com" => "Apple");

print_r(array_unique($sites));
?>

Вывод будет выглядеть следующим образом

Array ( [www.google.com] => Google [www.apple.com] => Apple ) 
0 голосов
/ 22 марта 2019

Индекс не может быть таким же, надеюсь, это поможет

$sites = array(array("www.google.com" => "Google"),array( "www.apple.com" => "Apple"), 
    array("www.apple.com" => "Apple"));
    foreach ($sites as $key => $value ){

      foreach($sites[$key] as $key1 =>$value1)
        {

          echo $sites[$key][$key1] . " " . $key1 . "<br/>"; 
        }

    }
...