оператор if — PHP условие if else

кто-нибудь, помогите мне, пожалуйста,

<?php if ($_POST['jobs'] == 6 || 7 || 8 || 9 && $_POST['sex'] = 'L') {*true statement*} ?>

это правильно? CMIIW.
Кто-то, пожалуйста, объясните, как написать, если еще с условием массива. Спасибо

0

Решение

Я бы посоветовал вам проверить in_array функция.

$jobs = array('6', '7', '8', '9');
if (in_array($_POST['jobs'], $jobs) && $_POST['sex'] == 'L')
{
//Do something.
}
3

Другие решения

Если $ _POST [‘jobs’] содержит только одно значение, создайте массив со всеми ожидаемыми результатами. После этого вы можете использовать функцию in_array для проверки того, содержится ли значение в этом массиве или нет.

$resultArray = array('6', '7', '7', '8');
if (in_array($_POST['jobs'], $resultArray ) && $_POST['sex'] == 'L')
{
//true condition
}
0

Попробуйте это. Вы должны ценить каждый раз, когда вы используете ||

<?php if ($_POST['jobs'] == 6 || $_POST['jobs'] == 7 || $_POST['jobs'] ==8
|| $_POST['jobs'] ==9 && $_POST['sex'] = 'L') {}
?>
0

Вы использовали один знак равенства вместо двух здесь:

$_POST['sex'] = 'L'

так что программа всегда видит условие true и устанавливает значение $ _POST [‘sex’] в ‘L’.

0

попробуй так

<?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*}
?>
0

Я бы сделал это:

$jobs = array(6, 7, 8, 9);

if ((in_array($_POST['jobs'], $jobs) && (strcmp($_POST['sex'], 'L') == 0)) {
//Do super cool stuff
}
0
По вопросам рекламы [email protected]