switch()
операторы предназначены для соответствия отдельным условиям.Я не думаю, что будет способ использовать переключатель для этого.Вместо этого необходимо использовать цепочку if else
:
if (in_array('george', $array) && in_array('paul', $array) && !in_array('max', $array)) {
$id = 1;
}
else if(in_array('paul', $array) && in_array('max', $array)) {
$id = 2;
}
else if (in_array('eric', $array)) {
$id = 3;
}
else {
$id = 3;
}
В соответствии с правилами оператора массива , вы можете использовать ==
, но члены массива должны быть в том же порядке.Технически, только ключи и значения должны совпадать, но для массива с числовым индексом это равносильно тому, что члены находятся в том же числовом порядке.
if ($array == array('john', 'paul')) {
$id = 1;
}
else if ($array == array('paul', 'max')) {
$id = 2;
}
else if ($array == array('eric')) {
$id = 3;
}
else {
$id = 3;
}