搜索类似于mysql的数组元素值

时间:2011-01-13 06:59:10

标签: php arrays

我必须搜索类似于mysql的数组元素值。

数组如下。

$arraydata=
  array (0=> array('data'=>1),
  1=> array('data'=>'1|5'),
  2=>array('data'=>'2|3'),
  3=>array('data'=>'1|5|6'),
  4=>array('data'=>'1|5|6|7'),
  5=>array('data'=>'2|3|4'),
  6=>array('data'=>'2|3|4|8')
);

如果要在数组元素'data'值中搜索“1”,则输出应为返回元素0,1,3,4。 如果搜索“2”,则输出应为返回元素2,5,6

1 个答案:

答案 0 :(得分:1)

array_keys中有一个可选的搜索参数。

$array = Array(0 => 1, 1 => 0, 2 => 1);
print_r(array_keys($array, 1));

但你似乎在使用多维数组 - 我不确定。你最好使用foreach

$results = Array();
foreach($arraydata as $key => $value) {
  if(strpos($value['data'],'1') !== false) {
    $results[] = $key;
  }
}