冗余的代码部分

时间:2016-01-26 08:41:05

标签: php optimization redundancy

我正在写一个小的.php代码,这个想法类似于:

我们有2个人,A人和B人,8个数据字段,每个人4个(订单,名称,角色,图片)。数据示例:

人A:

  • 订单:1
  • 姓名:Alex
  • 角色:客户
  • pic:alex.jpg

B人:

  • 订单:2
  • 姓名:Felix
  • 角色:供应商
  • pic:felix.jpg

订单字段的想法是确定应首先在页面上显示哪个人。根据示例,应首先显示人员A,但顺序可能不同。人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知识很差!我非常乐意获得任何帮助/解决方案。谢谢!

1 个答案:

答案 0 :(得分: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];
}