0

私は3つの値の10セットを持っています。各時点で、値の 1 つだけを知っているので、残りの 2 つの値を取得する必要があります。たとえば、id_a2 が何であるかはわかっていますが、それを使用して id_a1 と id_a3 を取得するにはどうすればよいでしょうか?

id_a1, id_a2, id_a3
id_b1, id_b2, id_b3
id_c1, id_c2, id_c3...
4

1 に答える 1

0

それを多次元配列に格納してから、ループします。

$data = array(
    array('id_a1', 'id_a2', 'id_a3'),
    array('id_b1', 'id_b2', 'id_b3'),
    array('id_c1', 'id_c2', 'id_c3')
);

find_siblings('id_b2', $data); // returns: array('id_b1', 'id_b3')

function find_siblings ( $needle, $haystack )
{
    foreach ( $haystack as $array )
    {
        if ( in_array($needle, $array) )
        {
            $out = array();

            foreach ( $array as $value )
            {
                if ( $value != $needle ) $out[] = $value;
            }

            return $out;
        }
    }
}

実際の動作はこちら: http://viper-7.com/VPVTnU

于 2012-07-18T01:42:57.517 に答える