2013-11-11 2 views
0

У меня есть ассоциативный массив как это:Как узнать, имеет ли ассоциативный массив одинаковое значение для всех повторений?

9584=>string 
5324=>string 
6543=>string 

Ключ всегда рядом, но я назначу его динамически, так что я не знаю, число и, вероятно, они не являются последовательными.

Мне нужно знать, является ли строка одинаковой во ВСЕХ случаях в массиве.

Если вы можете помочь мне спасибо ... и извините за мой ужасный английский язык

+2

гм .. как насчет Еогеасп? – MightyPork

+5

[array_count_values ​​()] (http://php.net/manual/en/function.array-count-values.php) вернет только один результат –

+0

Спасибо, Марк! ... только то, что я искал! – user2980264

ответ

3

Позвольте мне считать пути ... Там обязаны быть больше:

if(count(array_flip($array)) === 1) { } 

if(count(array_unique($array)) === 1) { } 

if(count(array_count_values($array)) === 1) { } 
+0

Почему нет, но как насчет производительности? – 56ka

+0

Как насчет этого? Поручите эти и ваши петли и опубликуйте результаты, чтобы мы знали. – AbraCadaver

0

Прочитайте первое значение и просматривать массив до тех пор, пока не найдете другую.

<?php 
function allTheSame($array) 
{ 
    if (count($array) != 0) 
    { 
     $first = reset($array); 
     foreach($array => $v) 
     { 
      if ($v !== $first) 
      { 
       return false; 
      } 
     } 
    } 
    return true; 
} 
Смежные вопросы