@Mixa

Существует ли функция, спобная проверить наличие любой комбинации из трех get-переменных?

У меня есть страница, формирующая запрос на основе неперданых get-переменных.

например

$a
$b
$c

мне надо в целях безопасности пропускать только их и никакие другие переменные + надо построить чекер который возвращал бы true когда есть все три переменные (комбинация номер 1) либо какая-либо комбинация двух из трех переменных (а таких - еще четыре).

подумал, что было бы круто, если была функция для подобной проверки типа в коротую забил массив переменных и минимальное количество переменных, которые одновременно должны пристувовать.
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
<?php

$arrays = [
  [
    'foo' => 'bar',
    'bar' => 'baz',
    'baz' => 'foo',
  ],
  [
    'foo' => 'bar',
    'baz' => 'foo',
  ],
  [
    'foo' => 'bar',
    'bar' => 'baz',
  ],
];

function check_keys(array $input, array $keys)
{
  return array_intersect($keys, array_keys($input)) === $keys;
}

var_dump(check_keys($arrays[0], ['foo', 'baz', 'bar']));
var_dump(check_keys($arrays[1], ['foo', 'baz']));
var_dump(check_keys($arrays[2], ['foo', 'bar']));
var_dump(check_keys($arrays[2], ['baz', 'bar']));


bool(true)
bool(true)
bool(true)
bool(false)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы