PHP простой вопрос про выражение

277
21 января 2018, 05:07

Возможно ли как-то сократить эту проверку?

if(is_numeric($id = $_POST['id']) && $id != $_SESSION['id'])

Чтобы обойтись одним словием, без оператора &&

То есть что-то на подобии

if(is_numeric($id = ($_POST['id'] != $_SESSION['id'])))
Answer 1
if(is_numeric($_POST['id'] = $_POST['id'] == $_SESSION['id'] ? $_POST['id'] : false))
Answer 2

Комментарии к вопросу абсолютно справедливы. Я лишь раскрою коммент andreymal: в вашем случае оптимизация получается сомнительная. Скорость выполнения скрипта вы вряд ли повысили, а разобрать его стало сложнее. Конечно, ваш пример очень прост, но со временем задачи только усложняются, ведь так?. Оптимизированный код не только лишь код, занимающий меньше строк, но так же чистый и легко читаемый.

$p_id = (is_numeric($POST['id'])) ? $POST['id'] : -1;
if( $p_id != $SESSION['id'] ) {
...
READ ALSO
Получить все значения с формы

Получить все значения с формы

Есть формаВ ней неизвестной кол-во полей

269
Что такое php echo?

Что такое php echo?

Существующее определение: "вывод текста"Куда echo выводит текст? И каким образом браузер этот текст получает?

230
Laravel 5.5. Сгенерировать query string формата /smth-str/val1/val2

Laravel 5.5. Сгенерировать query string формата /smth-str/val1/val2

Как проще всего сгенерировать URL такого вида:

257