【发布时间】:2014-06-27 20:34:11
【问题描述】:
我最近一直在做一个项目来玩。
它从游戏服务器检索 JSON,将其解码为数组,然后将数组值保存到 SQLite DB 中(以便稍后显示/操作)。总的来说,我是编程新手,在此之前从未接触过 PHP。
我的问题:有没有更好、更有效的方法来处理这个问题?
基本上,这部分代码循环遍历大型多维数组,并替换等于字符串的值。它在插入数据库之前执行此操作,以便我可以将字段格式化为更具可读性。
问题在于,在实际脚本中,我现在有一个巨大的已定义变量列表,例如 3 个 foreach 循环和大约 15 个 if/else if/else 语句的组合。
$sr = "Summoners Rift";
$rs = "Ranked Solo";
$rt = "Ranked Team";
$nr = "Normal";
foreach ($history['games'] as &$typeMode)
{
if ($typeMode['subType'] == 'RANKED_SOLO_5x5')
{
$typeMode['gameMode'] = $sr;
$typeMode['subType'] = $rs;
}
elseif ($typeMode['subType'] == 'RANKED_TEAM_5x5')
{
$typeMode['gameMode'] = $sr;
$typeMode['subType'] = $rt;
}
elseif ($typeMode['subType'] == 'NORMAL')
{
$typeMode['gameMode'] = $sr;
$typeMode['subType'] = $nr;
}
}
【问题讨论】:
-
您应该为初学者检查 php switch() 函数。大多数时候格式更简洁,速度更快。
-
谢谢!我在下面的 cOle2 也用一个例子推荐了这个选项。这似乎是实现这一目标的更好方法。非常感谢。
标签: php arrays multidimensional-array foreach