我有 10 组 3 个值。在每一点上,我只会知道其中的 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...
我有 10 组 3 个值。在每一点上,我只会知道其中的 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