我得到了以下阵列:PHP取代IDS在阵列
"task" : {
"author_id" : 150,
"created_at" : somedate,
"status_id" : 2,
"assignee_id" : 100,
"updated_at" : somedate_too
和我在那里我存储的ID名称通过以下方式2个关联数组:
"100" => Mike,
"150" => Bob //etc..., the same for statuses
我需要检查对于第一个数组中的ID,并以最有效的方式将相应数组的名称替换为数字。我尝试以下内容:
if(isset(task['status_id'])){$row = array_merge($row, [$status_ids[
task['status_id']]]);}else{$row = array_merge($row, '');}
if(isset(task['author_id'])){row = array_merge($row, [$users[// note the different array here
task['author_id']]]);}else{$row = array_merge($row, '');}
if(isset(task['assignee_id'])){$row = array_merge($row, [$users[
task['assignee_id']]]);}else{$row = array_merge($row, '');}
在我的结果数组($行)中,我不能错过索引并将其替换为另一个值。如果在第一阵列中没有价值,我需要插入一个空字符串得到以下,例如:
['in progress', '', 'Mike']
如果第一个数组中没有AUTHOR_ID。我相信应该有一个更好的方法来做到这一点与foreach循环,但我不能找出如何因为不同的领域,我从不同的数组中获得数据。我不认为每个领域的单独if条款是最适合的。 任何帮助将受到欢迎。谢谢。
你不应该将数据存储代码。大多数类型的数据库提供了一种解决这个问题的方法,通常只需要少量的代码和工作就可以实现,而不是使用php。 – symcbean
实际上它是一个数据库查询的结果。我正在解析许多这样的'任务',并试图将ID与相应的名称进行映射。另外问题在于某些'任务'中的某些数据被省略 - 比如说没有assignee_id或者author_id,我需要在数组中保留空值 – Jack
解决数据库中数据问题 – symcbean