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

Php 搜索类似mysql的数组元素值,php,arrays,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'),

我必须像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')
);
如果要在数组元素“数据”值中搜索“1”,则输出应为返回元素
0,1,3,4

如果搜索“2”,则输出应为返回元素
2,5,6

中有一个可选的搜索参数

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

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

中有一个可选的搜索参数

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

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


该是你学会如何编排自己的问题的时候了。请将代码缩进4个空格(或使用
{}
按钮为您执行此操作)。你不需要引用
1 | 5 | 6
?我认为这是引用的字符串,这是引用的字符串。我希望结果不使用正则表达式。请查看Savetheinternet的答案。现在是您学习如何格式化自己的问题的时候了。请将代码缩进4个空格(或使用
{}
按钮为您执行此操作)。你不需要引用
1 | 5 | 6
?我认为这是引用的字符串,这是引用的字符串。我希望结果不使用正则表达式。请检查Savetheinternet的answerarray数据元素是否类似于1,1 | 5,1 | 5 | 6,1 | 5 | 6 | 7,因此输出应为0,1,3,4数组元素。@Rahul:我确信“数据”包含字符串而不是数值。重新检查答案是否有效如果我们搜索1或2到9,它工作正常。但如果我们搜索11或22,则返回空结果。假设$array数据包含额外的7=>'11 | 12 | 13',8=>'22 | 23 | 24 | 25'坏主意,
1*或*1
,如果需要,我们可以搜索“1 |”或“11 |”或“22 |”。请建议解决方案。数组数据元素类似于1,1 | 5,1 | 5 | 6,1 | 5 | 6 | 7,因此输出应为0,1,3,4数组元素。@Rahul:我确信“数据”包含字符串而不是数值。重新检查答案是否有效如果我们搜索1或2到9,它工作正常。但如果我们搜索11或22,则返回空结果。假设$array数据包含额外的7=>'11 | 12 | 13',8=>'22 | 23 | 24 | 25'坏主意,
1*或*1
,如果需要,我们可以搜索“1 |”或“11 |”或“22 |”。请提出解决方案。