0

如果 iteminfo 等于某个主题,我如何更新 itemprices 中的值?

User(
[name] => xxxx
[phone] => xxxxx
[email]xxxxx
[itemprices] => Array ( [0] => 1.00 [1] => 1.00 )
[iteminfo] => Array ( [0] => Chemistry [1] => Biology ) 
)
4

1 回答 1

1

一种可能的方法:

$subject = 'Chemistry';
$index = array_search($subject, $user->iteminfo);
if (false !== $index) {
  $user->itemprices[$index] = $newvalue;
}

说明:首先您使用array_searchiteminfo在数组中查找给定主题的索引。如果确实存在,则使用该索引来更新itemprices.

但实际上,我宁愿将数据重新排列到关联数组中,其中所有键对应于主题,所有值对应于它们的价格。使用array_combine很容易做到:

$user->itemdata = array_combine($user->iteminfo, $user->itemprices);

然后您就不必再使用array_search了,直接通过主题键访问价格信息:

$user->itemdata[$subject] = $newvalue;
于 2013-09-20T01:33:37.900 回答