【发布时间】:2020-05-05 13:26:15
【问题描述】:
我有一个包含大约 30 个子部分的 JSON 文件。每个小节都会有所不同。我想把里面的数据转换成我想要的格式。代码工作正常。但我觉得它没有 100% 优化。
Client1Insurance, Client2Insurance, ClientFInsurance, FamilyInsurance, Client1Pension, Client2Pension, ClientFPension, FamilyPension。
以上是这个 JSON 的外观示例。以上都是数组,里面有子数组。大约有 30 个这样的数组。
foreach ($json as $item) {
if (strpos($crmMapKey, "Insurance")) {
$returnArray[] = $this->handleInsurance($item);
} elseif (strpos($crmMapKey, "Pension")) {
$returnArray[] = $this->handlePension($item);
} ... continues the comparison till the json ends
}
我需要一种方法来避免这么长的 if else 比较,这是我并不引以为豪的。有人能提出更好的方法吗?
谢谢。
【问题讨论】:
-
这里不能使用开关。
Client1Insurance, Client2Insurance, ClientFInsurance, FamilyInsurance将有 4 个案例。但是在我拥有的当前代码中,它将只有一个strpos($crmMapKey, "Insurance")- 这避免了 4 种情况。 @AbraCadaver -
switch(true)那么情况就是你的strpos,所以也许不是最好的,但你可以使用它。 -
还有其他选择吗? @AbraCadaver
标签: php optimization