Как проверить, являются ли два конкретных значения единственными значениями в массиве? - PullRequest
2 голосов
/ 26 апреля 2011

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

Пример: 1,2,2,5,7,3

Как мне написатьтест в PHP, который проверяет, являются ли единственные значения, содержащиеся в массиве, 1 или 2?

Таким образом, 1,2,2,1,1,1 вернет true.

Между тем 1,2,3,1,2,1 вернет false.

Ответы [ 4 ]

5 голосов
/ 26 апреля 2011

Кажется, это работает просто отлично:

function checkArray($a)
{
    return (bool)!count(array_diff($a, array(1,2)));
}

Он вернет true, если это просто 1 с или 2 с, или false, если нет

0 голосов
/ 26 апреля 2011
function checkarray($array) {
  foreach($array as $a) {
    if ($a != 1 && $a != 2)
      return false;
  }
  return true;
}
0 голосов
/ 26 апреля 2011
function array_contains_ones_and_twos_only( &$array ){
  foreach ($array as $x)
    if ($x !== 1 && $x !== 2)
      return false;
  return true;
}
0 голосов
/ 26 апреля 2011
    function return_1_or_2($array){
    foreach($array as $a){
    $c = $a-1;
    if($c>1){
    $flag = true;
break;
    }
    }
    if($flag){
    return false;
    }else{
    return true;
    }
    }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...