在两个php数组中模拟内连接

时间:2013-12-11 07:24:44

标签: php arrays inner-join

我的phpMyAdmin中有两张桌子。

我想加入这两个表,但表格非常大。

我认为如果我获取数组中的所有表,并将另一个表提取到另一个数组并加入这两个数组,这会使我的程序更快,如果是真的,是否有任何php function模拟它?

我有$arr1$arr2,我想要$result。另外我想知道它比mysql inner join query更快吗?

    $arr1 = array(

    array('id'=>10, 'title' => 'title arr1 1', 'alias' => 'alias arr1 1'),
    array('id'=>20, 'title' => 'title arr1 2', 'alias' => 'alias arr1 2'),
    array('id'=>30, 'title' => 'title arr1 3', 'alias' => 'alias arr1 3'),
    ...

    )


    $arr2 = array(

    array('id'=>1, 'title' => 'title arr2 1', 'alias' => 'alias arr2 1', 'arr1_id' => 30),
    array('id'=>2, 'title' => 'title arr2 2', 'alias' => 'alias arr2 2', 'arr1_id' => 20),
    array('id'=>3, 'title' => 'title arr2 3', 'alias' => 'alias arr2 3', 'arr1_id' => 10),
    ...

    )

    $result = array(

    array
    (
    'id_arr1'=>10, 'title_arr1' => 'title arr1 1', 'alias_arr1' => 'alias arr1 1',
    'id_arr2'=>3, 'title_arr2' => 'title arr2 3', 'alias_arr2' => 'alias arr2 3', 'arr1_id' => 10
    )

    ,

    array
    (
    'id_arr1'=>20, 'title_arr1' => 'title arr1 2', 'alias_arr1' => 'alias arr1 2',
    'id_arr2'=>2, 'title_arr2' => 'title arr2 2', 'alias_arr2' => 'alias arr2 2', 'arr1_id' => 20
    )

    ,

    array
    (
    'id_arr1'=>30, 'title_arr1' => 'title arr1 3', 'alias_arr1' => 'alias arr1 3',
    'id_arr2'=>1, 'title_arr2' => 'title arr2 1', 'alias_arr2' => 'alias arr2 1', 'arr1_id' 

    => 30
        )
    ,
    ...

    )

0 个答案:

没有答案