0

私はここで少し似たよう質問をしました.多くの達人が私に提案するように、簡単にするために質問を修正しました。ノーネガでお願いします。私が何か間違いをした場合は、教えてください。それを修正しようとします。お願いします。

これが質問です...私はphp 5.3を使用しています。この配列は、生成されたPDO MySQLクエリから多くのプロセスを渡し、次の関数を使用した後に取得されます

function diff($new,$old)
{
    $del=array_diff_assoc($old,$new);
    $add=array_diff_assoc($new,$old);
    return $diff=array("old"=>$del, "news"=>$add);
}

配列は次のようになります...

$aa= Array
(
    [old] => Array 
    (

                    [cod] => 
                    [gender] => m
                    [title] =>
    )
    [news] => Array 
    (
                    [cod] => 
                    [gender] => f
                    [title] => Mr
                    [wl] => 255
                    [heigh] => 
    )
)

次のコードを試しました

$combine = array_merge_recursive($aa['old'], $aa['news']);

次の配列を生成するには..(これはまさに私が望む結果です)

Array
(
    [gender] => Array 
    (
       [gender] => m
       [gender] => f           
    )
    [title] => Array 
    (
       [title] =>
       [title] => Mr           
    )
    [gender] => Array 
    (
       [gender] => m
       [gender] => f           
    )
    [wl] => Array 
    (
       [wl] =>
       [wl] => 255           
    )
)

しかし、不要なデータが含まれているようです...

[old] 配列にキーが存在し、同じキーを持つ [news] 配列に値がある場合はそれを表示し、[news] 配列に値を持つキーが存在する場合はそれを表示します。 [new] 配列にキーがあり、[old] 配列に対応するキーがなく、値がない場合は表示されません。

どんなアイデアでも、私は感謝します....私はいくつかの方法を積み重ねるだけです...

4

1 に答える 1