如果iteminfo等于某个主题,如何更新itemprices中的值?
User(
[name] => xxxx
[phone] => xxxxx
[email]xxxxx
[itemprices] => Array ( [0] => 1.00 [1] => 1.00 )
[iteminfo] => Array ( [0] => Chemistry [1] => Biology )
)
答案 0 :(得分:1)
一种可能的方法:
$subject = 'Chemistry';
$index = array_search($subject, $user->iteminfo);
if (false !== $index) {
$user->itemprices[$index] = $newvalue;
}
说明:首先使用array_search在iteminfo
数组中查找给定主题的索引。如果确实存在,则使用该索引更新itemprices
中的相应值。
但实际上,我宁愿将数据重新排列成关联数组,其中所有键分别对应于主题和所有值 - 分别与它们的价格相对应。使用array_combine很容易做到:
$user->itemdata = array_combine($user->iteminfo, $user->itemprices);
然后您不必再使用array_search
,直接通过主题键访问价格信息:
$user->itemdata[$subject] = $newvalue;