#php
#php
Вопрос:
Обычно я делаю это в PHP для обработки параметров post…
if (isset($_POST['name'])) {
echo 'This is the post section';
echo 'Output Attributes';
echo $attribute1
echo $attribute2
} else {
echo 'The post is empty';
}
В попытке упростить вещи я пытаюсь использовать нулевой объединяющий оператор, но я немного сбит с толку. используя пример, у меня есть это..
$name = $_POST['name'] ?? 'The post is empty';
Но как мне заставить это действовать как if
оператор, чтобы я мог выводить разные разделы, например?
Комментарии:
1. Возможно, вам было бы лучше использовать троичный оператор, например
$name = (isset($_POST['name']) ? "Something" : "The post is empty");
. Не уверен, вы не указали, каким должен быть результат.2. Вы этого не делаете. Оператор null предназначен для замены простой конструкции, такой как
$name = isset($_POST["name"]) ? $_POST["name"] : "default";
Ответ №1:
Это:
$name = $_POST['name'] ?? 'The post is empty';
эквивалентно этому:
if(isset($_POST['name'])){
$name = $_POST['name'];
}else{
$name = 'The post is empty';
}
Если вы хотите сделать что-то более сложное, чем это, вы должны использовать свой собственный if/else
оператор.
Ответ №2:
Я думаю, это зависит. Одним из способов было бы:
<?php if ( $_POST['name'] ?? false ) { } else {} ?>
Оператор классный, но он не может делать все. И здесь от этого лучше не становится.