php обращение по ключу

124
27 мая 2019, 02:00
$array = array(
    "20" => "10кк",
    "40" => "20кк",
    "60" => "30кк",
    "80" => "40кк",
);
if ($_POST['ik_am'] == '20' && $_POST['ik_am'] == '40' && $_POST['ik_am'] == '60' && $_POST['ik_am'] == '80') {
    $text = '.аз донат '.$_POST['ik_x_login'].' '.$array[$_POST['ik_am']];
} elseif ($_POST['ik_am'] == '50') {
    $text = '.setvip '.$_POST['ik_x_login'];
} else {
    $text = '.setprem '.$_POST['ik_x_login'];
}

Помогите пожалуйста мне нужно обращаться к array по ключу, попытался смудрить такой код но он не срабатывает(

Answer 1

$_POST['ik_am'] не может быть одновременно и 20, и 40, и 60, и так далее. Заменить && на ||, или лучше на in_array.

Вообще обычно делают намного иначе. Можно использовать in_array, но можно реализовать ту же логику более компактно:

$array = array(
    20 => '.аз донат %s 10кк',
    40 => '.аз донат %s 20кк',
    60 => '.аз донат %s 30кк',
    80 => '.аз донат %s 40кк',
    50 => '.setvip %s',
);
$ik_am = $_POST['ik_am']?? null;
$ik_x_login = $_POST['ik_x_login']?? 'UNKNOWN';
$message = $array[$ik_am]?? '.setprem %s';
$text = sprintf($message, $ik_x_login);
READ ALSO
Почему не работает file_get_contents()?

Почему не работает file_get_contents()?

Мне нужно авторизованному пользователю показывать 5 его друзей, для этого написал такой код:

130
Плавная прокрутка блоков новостей,

Плавная прокрутка блоков новостей,

нужно сделать плавное прокручивание новостей вправо, 3 новости в ряд

104
Windows style selection для QtreeWidget

Windows style selection для QtreeWidget

Есть QtreeWidget, как для него сделать выделение как в windows-е? (Хочется, чтобы при клике на элемент он выделялся полупрозрачным голубым цветом, бекграунд...

144
программа вылетает(c++,qt)

программа вылетает(c++,qt)

У меня все файлы находятся в папке build-****-Desktop_Qt_5_11_1_MSVC2017_64bit-ReleaseСчитываю файлы в вектор в слоте кнопки

140