如果 iteminfo 等于某个主题,我如何更新 itemprices 中的值?
User(
[name] => xxxx
[phone] => xxxxx
[email]xxxxx
[itemprices] => Array ( [0] => 1.00 [1] => 1.00 )
[iteminfo] => Array ( [0] => Chemistry [1] => Biology )
)
一种可能的方法:
$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;