总PHP Noob,我找不到这个特定问题的答案。希望有人可以帮忙!
$ myvar是一个如下所示的数组:
Array (
[aid] => Array (
[0] => 2
[1] => 1
)
[oid] => Array(
[0] => 2
[1] => 1
)
)
我需要将一个新变量(称为$ attributes)设置为如下所示:
$attributes = array(
$myvar['aid'][0] => $myvar['oid'][0],
$myvar['aid'][1] => $myvar['oid'][1],
etc...
);
当然,$ myvar可能包含更多项目......
如何遍历$ myvar并构建$ attributes变量?
答案 0 :(得分:4)
使用array_combine()
这将给出预期的结果。
http://php.net/manual/en/function.array-combine.php
用法:
$attributes = array_combine($myArray['aid'], $myArray['oid']);
将按要求产生结果。
答案 1 :(得分:0)
如果我理解正确的问题,那就是这样的事情
$attributes = array();
foreach ($myvar['aid'] as $k => $v) {
$attributes[$v] = $myvar['oid'][$k];
}
答案 2 :(得分:0)
您的要求不明确。你的意思是“而且,当然,$ myvar可能包含更多项目......”有两种可能性
第一。主阵列中有两个以上的数组。比如'援助','oid'和'xid','yid' 第2位。或两个主数组,子数组中有许多项,如“[0] => 2 [1] => 1 [2] => 3”
我认为您正在讨论第二个选项,如果是,请使用以下代码
$aAid = $myvar['aid'];
$aOid = $myvar['oid'];
foreach ($aAid as $key => $value) {
$attributes['aid'][$key] = $value;
$attributes['oid'][$key] = $myvar['oid'][$key];
}
答案 3 :(得分:-1)
您可以使用foreach迭代数组并获取所需的键和值
$attributes = array()
foreach($myvar as $key => $val) {
$attributes[$key][0] = $val;
}