私は2つの大きな配列を持っています:
$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
}
}
しかし、数字が大きくなると途方もなく大きくなります。
したがって、次のループに追加された後に各 'b' 要素を削除する$a
と、サイズが小さくなり、リソースが削減されることがわかりました。
ただし、ループ配列をつなぎ合わせると、インデックスが更新されていないようで、次のループでは 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
連想配列に独自のデータを持っています。