如果我有一个像这样的循环,和一个存储信息的数组:
$itemArray = array();
foreach ($a->getDetails() as $b)
{
if ($b->getValue1() !== $b->getValue2())
{
if (!array_key_exists($b->getId(), $itemArray))
{
$itemArray[$b->getId()] = array('name' => $b->getName(), 'age' => $b->getAge());
}
$personName = $itemArray[$b->getId()]['name'];
$personAge = $itemArray[$b->getId()]['age'];
$content = ('Name is: ' . $personName . ', age is: ' . $personAge);
}
}
现在这段代码只输出了一个"person",对于单个的$b值不匹配,我应该如何存储多个值?
我想要的输出效果应该是:
姓名:Dave,年龄:30。
姓名:John,年龄:40。
但目前即使有两个实例都不匹配,也只会输出一个"person"。
$b->getValue1() !== $b->getValue2()
$a->getDetails()的示例输出:array(1) {
[0]=>
object(PersonDetail)#322 (41) {
["collItemTemplateFieldPersonValues":protected]=>
NULL
["id":protected]=>
int(2375434)
["person_id":protected]=>
int(2184229)
["person_details_id":protected]=>
int(4563874)
["person_details_type_id":protected]=>
NULL
["name":protected]=>
string(4) "Test"
["person_namecode":protected]=>
string(9) "PERSON_ID"
["person_age":protected]=>
int(30)