我有两个数组如下。
$e which is
Array
(
[0] => AL-Alabama
[1] => AK-Alaska
)
$c which is
Array
(
[0] => Aerospace: General
[1] => Agriculture/Forestry/Fish ing/Mining: General
)
我想使用上面两个单个数组创建一个多维数组。我写了下面的代码,但只是不工作。
$mat1=array(array());
foreach ($e as $ee);
{foreach ($c as $cc);
{$mat1[$ee][] = $cc;}}
它给我一个输出如下。
Array
(
[0] => Array
(
)
[AK-Alaska] => Array
(
[0] => Agriculture/Forestry/Fish ing/Mining: General
)
)
而我理想的输出应该是一个存储了这样的组合的数组
(AL-Alabama,Aerospace: General), (AL-Alabama,Agriculture/Forestry/Fish ing/Mining: General) and
(AK-Alaska,Aerospace: General), (AK-Alaska,Agriculture/Forestry/Fish ing/Mining: General)
任何帮助都将受到高度赞赏。
由于
答案 0 :(得分:0)
如果$ e和$ c的共同点是关键: 这确实意味着$ c和$ e必须具有相同的长度。
<?php
$c = ['AL-Alabama', 'AK-Alaska'];
$e = ['Aerospace: General', 'griculture/Forestry/Fish ing/Mining'];
$new = [];
if (count($c) == count($e)) {
for ($i=0; $i < count($c); $i++) {
$new[$c[$i]] = $e[$i];
}
var_dump($new);
} else {
echo 'error';
}
修改强> 我改变了这个
$new[$i] = ['e'=>$e[$i], 'c' => $c[$i]];
到
$new[$c[$i]] = $e[$i];
但两者都有效并有其他输出