Избыточные части кода

Я пишу небольшой код .php, идея похожа на это:

У нас есть 2 человека, человек A и человек B, и 8 полей данных, по 4 на каждого человека (порядок, имя, роль, рис.). Пример данных:

Человек А:

  • заказ: 1
  • имя: алекс
  • роль: клиент
  • рис: alex.jpg

Человек Б:

  • заказ: 2
  • имя: Феликс
  • роль: поставщик
  • рис: felix.jpg

Идея поля заказа состоит в том, чтобы определить, какой человек должен отображаться первым на странице. Согласно примеру, лицо А должно отображаться первым, но порядок может быть другим. Человек B может иметь 0 порядка, и тогда Человек B должен быть первым.

Я добился результата, написав этот код:

$first_person_order = // here I get order for Person A;
$second_person_order = // here I get order for Person B;

$first_person_name;
$first_person_role;
$first_person_pic;

$second_person_name;
$second_person_role;
$second_person_pic;

if ($first_person_order < $second_person_order) {
$first_person_name = // here I get name for Person A;
$first_person_role = // here I get role for Person A;
$first_person_pic = // here I get pic for Person A;
$second_person_name = // here I get name for Person B;
$second_person_role = // here I get role for Person B;
$second_person_pic = // here I get pic for Person B;
} else {
$first_person_name =  // here I get name for Person B;
$first_person_role = // here I get role for Person B;
$first_person_pic = // here I get pic for Person B;
$second_person_name = // here I get name for Person A;
$second_person_role = // here I get role for Person A;
$second_person_pic = // here I get pic for Person A;
}

Но я чувствую, что это не очень хорошее решение, оно выглядит очень излишним, но я действительно не знаю, как его улучшить из-за моих слабых знаний PHP! Я был бы очень рад получить любую помощь / решения. Спасибо!

0

Решение

Используйте массивы, где индекс — это номер заказа.

$pers = [];
$pers[$first_person_order] = array($first_person_name,$first_person_role,$first_person_pic);
$pers[$second_person_order] = array($second_person_name,$second_person_role,$second_person_pic);

Когда вам нужно повторить их, просмотрите массив. Они будут в порядке.

$arrlength = count($pers);
for($x = 0; $x < $arrlength; $x++) {
echo $pers[$x][1];
}
1

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

Других решений пока нет …

По вопросам рекламы [email protected]