私は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...
私は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...
それを多次元配列に格納してから、ループします。
$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