2016-01-26 5 views
0

Я пишу небольшой код .php, идея похожа на это:Резервные части кода

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

Person A:

  • заказ: 1
  • Имя: Alex
  • роль: Клиент
  • ПИК: alex.jpg

Person B:

  • заказ: 2
  • Имя: Felix
  • роль: Поставщик
  • ПИК: felix.jpg

Идея поля заказа, чтобы определить, какое лицо должно отображаться первым на странице. В соответствии с примером сначала должно отображаться Person A, но порядок может отличаться. У человека B может быть 0 порядка, а затем Person 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

Вы можете указать код, где вы видите людей на странице? – RomanPerekhrest

ответ

1

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

$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]; 
} 
+0

да, это даст ошибку, но я думал, что вы хотите отобразить в соответствии с порядком, поэтому я предположил, что порядок не будет равен нулю. Если он может быть пустым, укажите, как вы хотите его отображать. –