我必须搜索类似于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
答案 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;
}
}