PHP массив проверки всех значений равен

1
 array
  0 => 
    array
      'point' => string '2' 
  1 => 
    array 
      'point' => string '4' 
  2 => 
    array 
      'point' => string '1' 

Мне нужно проверить значения "point" в вышеупомянутом массиве, если все значения "point" равны "4", он вернет true, как показано ниже.

array
  0 => 
    array
      'point' => string '4'
  1 => 
    array
      'point' => string '4'
  2 => 
    array
      'point' => string '4'
  • 0
    только если весь массив состоит только из точки => 4?
  • 2
    function checkArray($myArray) { $result = array_unique(array_column($myArray, 'status_id')); return (count($result) == 1 && $result[0] == '4'); }
Показать ещё 1 комментарий
Теги:
arrays

3 ответа

1
Лучший ответ

Вам просто нужно использовать 2 оператора fomr PHP. если и для.

Я использовал следующий скрипт для его проверки (вы можете выбрать один из циклов (for или foreach))

$test = array(array('point' => 4), array('point' => 4));

function checkArrayForPointValue($array, $expectedValue)
{
    $ok = true;
    for ($i = 0; $i < count($array); $i++) {
        if ($array[$i]['point'] != $expectedValue) {
            $ok = false;
            break;
        }
    }
    // choose one of them

    foreach ($array as $element) {
        if ($element['point'] != $expectedValue) {
            $ok = false;
            break;
        }
    }
    return $ok;
}

print(checkArrayForPointValue($test, '4') ? 'yay' : 'not yay');
  • 0
    Спасибо за спасение моей жизни :)
0

Просто используйте как

function checkArray($myArray) {
    $result = array_unique(array_column($myArray, 'point'));
    return (count($result) == 1 && $result[0] == '4') ? "true" : "false";
}
echo checkArray($myArray);
0

Сравните каждое значение в foreach:

function arrayComparePoint($array) {
$valueCompare = $array[0]['point'];
    foreach ($array as $arrayPoint) {
        foreach ($arrayPoint as $point) {
            if ($valueCompare != $point) {
                return false;
            }
        }
    }
return true;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню