кто-нибудь, помогите мне, пожалуйста,
<?php if ($_POST['jobs'] == 6 || 7 || 8 || 9 && $_POST['sex'] = 'L') {*true statement*} ?>
это правильно? CMIIW.
Кто-то, пожалуйста, объясните, как написать, если еще с условием массива. Спасибо
Я бы посоветовал вам проверить in_array функция.
$jobs = array('6', '7', '8', '9');
if (in_array($_POST['jobs'], $jobs) && $_POST['sex'] == 'L')
{
//Do something.
}
Если $ _POST [‘jobs’] содержит только одно значение, создайте массив со всеми ожидаемыми результатами. После этого вы можете использовать функцию in_array для проверки того, содержится ли значение в этом массиве или нет.
$resultArray = array('6', '7', '7', '8');
if (in_array($_POST['jobs'], $resultArray ) && $_POST['sex'] == 'L')
{
//true condition
}
Попробуйте это. Вы должны ценить каждый раз, когда вы используете ||
<?php if ($_POST['jobs'] == 6 || $_POST['jobs'] == 7 || $_POST['jobs'] ==8
|| $_POST['jobs'] ==9 && $_POST['sex'] = 'L') {}
?>
Вы использовали один знак равенства вместо двух здесь:
$_POST['sex'] = 'L'
так что программа всегда видит условие true и устанавливает значение $ _POST [‘sex’] в ‘L’.
попробуй так
<?php
$string="6 || 7 || 8 || 9";
$newarray=explode('||',$string); // $newarray is like array('6', '7', '8', '9');
if (in_array($_POST['jobs'],$newarray) && $_POST['sex'] == 'L') {*true statement*}
?>
Я бы сделал это:
$jobs = array(6, 7, 8, 9);
if ((in_array($_POST['jobs'], $jobs) && (strcmp($_POST['sex'], 'L') == 0)) {
//Do super cool stuff
}