我有两个大数组:
$a = array('a1','a2','a3','a4'); // and so on
$b = array('b1'=>'a1', 'b2'=>'a3', 'b3'=>'a1'); //
我想得到以下结果:
$a = array('a1'=>array('b1', 'b3'), 'a2'=>array(), 'a3'=>array('b2') );
我可以这样做:
foreach($a as $aa){
foreach($b as $bb){
// check with if then add to a
}
}
但随着数字的增加,它会变得非常大。
所以我想到如果我在添加到$a
下一个循环后删除每个“b”元素会更小,我会削减资源。
但是在拼接循环数组时,索引似乎没有更新,并且下一个循环没有考虑到它被减1的事实。
我怎样才能使这项工作,还有,是否有更好的方法将数组的项目拟合到另一个数组的适当索引中?
编辑:
如果两者的结构$a
都是$b
:
$a[0]['Word']['id']=1;
$a[0]['Word']['sentence_id']=2;
$a[0]['Word']['word_string']='someWord';
$b[0]['Word']['id']=3;
$b[0]['Word']['sentence_id']=4;
$b[0]['Word']['word_string']='someWord';
// And i would like to list `b` like so:
$a[0]['list_of_bs']=array(b[0], b[1]);
//So that i can get:
echo $a[0]['list_of_bs']['Word']['id'];
// and to get result 3
我希望它是$a[0][Word][list_of_b]=array(b1,b2,b3)
并且每个b
's 在关联数组中都有自己的数据。