【问题标题】:Redundant parts of code代码的冗余部分
【发布时间】:2016-01-26 08:41:05
【问题描述】:

我在写一个小的.php代码,思路是这样的:

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

甲:

  • 订单:1
  • 姓名:亚历克斯
  • 角色:客户
  • 图片:alex.jpg

乙:

  • 订单:2
  • 姓名:费利克斯
  • 角色:供应商
  • 图片: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 知识很差,我真的不知道如何使它变得更好!我将非常乐意获得任何形式的帮助/解决方案。谢谢!

【问题讨论】:

  • 你能在页面上显示人物的地方显示代码吗?

标签: php optimization redundancy


【解决方案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];
}

【讨论】:

  • 是的,它会给出错误,但我认为你想根据顺序显示,所以我假设 order 不会为空。如果它可以为空,那么请指定您希望如何显示它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多