如何在array_combine不是解决方案时组合这两个数组?
我有一个名称为$name[]
的数组,另一个名称为$content[]
这两个数组都有相同的对象(3)。 $content[]
阵列可能有0,1或2条消息,如下所示。如何在array_combine不是解决方案时组合这两个数组?
我的目标是回显$name[0]
与$content[0]
等等。该名称将首先打印并在可用消息之后打印。我试图使用array_combine
没有运气。
有什么办法可以做到这一点?
$名称[]
Array
(
[0] =>
[1] =>
[2] =>
)
$内容[]
Array
(
[0] => Array
(
[0] => Array
(
[message] =>
)
)
[1] => Array
(
)
[2] => Array
(
[0] => Array
(
[message] =>
)
[1] => Array
(
[message] =>
)
)
)
真的不知道你在做什么;这个问题不是很清楚。你的预期产出是多少?
这是我在黑暗中刺:
$count = min(count($name),count($content));
for($i=0; $i<$count; ++$i) {
echo $name[$i];
foreach($content[$i] as $msg) {
echo $msg['message'];
}
}
谢谢马克。它的工作原理与我想要的一样小小的调整。 – EnexoOnoma 2012-03-30 03:55:14
带'MultipleIterator'的PHP 5.3+替代解决方案:http://*.com/a/14724544/664108 – 2013-02-06 08:59:44
像这样吗?
$name = array(...);
$content = array(...);
foreach($content as $k => $v)
{
if(array_key_exists($k, $name))
echo $name[$k];
if(array_key_exists($k, $content))
echo $content[$k];
}
我得到的是* Array *后面的名字。 – EnexoOnoma 2012-03-30 03:46:01
@Kaoukkos:这是因为$ content是一个数组数组。只是循环它。 – mpen 2012-03-30 03:47:05
你忽略了一个关键细节:组合阵列应该是什么样子。从你所描述的,'array_combine'应该是解决方案。结合样本数组的结果应该是什么? 'array_combine'的结果不合适吗?对于示例数据,“var_export”的输出比'var_dump'更有用,因为它会生成有效的PHP。 – outis 2012-03-30 03:55:16