如何匹配单独数组中的数组键

时间:2012-01-19 03:40:00

标签: php arrays

我有两个独立的数组 - $array_before$array_after每个数组都可以有无限数量的值。我可以像这样输出数组的各个值:

print $array_before->field_things[0]['value'] 

print $array_after->field_other_things[0]['value'] 

或者我可以分别打印每个数组中的所有值:

foreach($array_before->field_things as $before_stuff)
{
print $before_stuff['value']
}

但那给我这个:

Before Value 0
Before Value 1
Before Value 2
Before Value 3...
--------
After Value 0
After Value 1
After Value 2
After Value 3...

我需要做的是输出按照数组键分组的BOTH数组值,如下所示:

Before Value 0
After Value 0
-------
Before Value 1
After Value 1
------
Before Value 2
After Value 2

3 个答案:

答案 0 :(得分:1)

您可以在单个阵列中执行此操作,这将更容易。将其构造为:

$array->field_things[0]['before']
$array->field_things[0]['after']

然后将其作为:

访问
foreach($array->field_things as $stuff)
{
  print "Before Value: $stuff['before']\n";
  print "Before Value: $stuff['after']\n";  
}

答案 1 :(得分:1)

转换后$array_before->field_things$array_after->field_other_things的长度是否相同?然后你可以将索引迭代到它们中:

for ( $i=0; $i<count($array_before->field_things); $i++ ) {
    print "Before value: ".$array_before->field_things[i]['value']
    print "After value: ".$array_after->field_other_things[i]['value']
}

答案 2 :(得分:0)

不是真的得到你的问题,猜猜你想要的是:

foreach($array_before->field_things as $key=>$before_stuff)
{
   print $before_stuff['value'];
   print $array_after->field_other_things[$key]['value'];
   print "<br/>-----------------<br/>";
}