我需要有关数组搜索的帮助。数组示例是:
$users=Array
(
0 => Array
(
'id' => 111,
'name' => 'Sandra Shush',
'sources' => '1234,678,780'
),
1 => Array
(
'id' => 112,
'name' => 'Stefanie Mcmohn',
'sources' => '32,99,85'
),
2 => Array
(
'id' => 113,,
'name' => 'Michael',
'sources' => '896,1213,1918'
),
3 => Array
(
'id' => 113,,
'name' => 'Michael',
'sources' => '72'
)
);
我需要从上面提供的数组中提取密钥,其中“sources”键与搜索字符串(整数)匹配。
我试过了:
$key = array_search('99', array_column( $users, 'sources') ); // false
但当然,没有机会用这种方法检索密钥。它仅在源键只有一个值时有效,例如:
$key = array_search('72', array_column( $users, 'sources') ); // 3
有没有办法实现这个目标? 谢谢
答案 0 :(得分:0)
只需使用foreach
循环和preg_match
一样使用
$result = [];
foreach($users as $key => $value){
if(preg_match("/\b99\b/",$value['sources']) !== false){
$result[] = $key;
}
}
print_r($result);
输出:
Array
(
[0] => 1
)