Maison > Questions et réponses > le corps du texte
1. Par exemple, j'ai un tas de tableaux comme suit :
Array
(
[0] => Array
(
[gid] => 1
[cid] => pc001
[class] => 办公用品
[name] => 笔记本电脑
[type] => Acer Aspire E1-410G
[unit] => 台
[num] => 1
[price] =>
[amount] =>
[invoice] =>
[bremarks] =>
[bid] =>
)
[1] => Array
(
[gid] => 2
[cid] => pc002
[class] => 办公用品
[name] => 笔记本电脑
[type] => Acer Aspire E5-571G-58WT
[unit] => 台
[num] => 2
[price] =>
[amount] =>
[invoice] =>
[bremarks] =>
[bid] =>
)
[2] => Array
(
[gid] => 4
[cid] => wf123
[class] => 办公用品
[name] => 鼠标
[type] => 罗技M90
[unit] => 个
[num] => 3
[price] =>
[amount] =>
[invoice] =>
[bremarks] =>
[bid] =>
)
[3] => Array
(
[gid] => 6
[cid] => wf012
[class] => 办公用品
[name] => 电脑键盘
[type] => PS接口
[unit] => 个
[num] => 4
[price] =>
[amount] =>
[invoice] =>
[bremarks] =>
[bid] =>
)
)
2. Les conditions de recherche sont les suivantes : gid est égal au tableau suivant
Array
(
[0] => 3
[1] => 4
[2] => 5
)
3. Comment puis-je obtenir les données avec gid=3, 4 et 5 ?
Une seule des données ci-dessus doit répondre aux exigences, aidez-nous s'il vous plaît~
PHP中文网2017-06-05 11:11:37
foreach($arr_1 comme $val){
if(in_array($val['gid'],$arr_2)){
$data[] = $val;
}
}
print_r($données);
PHPz2017-06-05 11:11:37
function searchdata($data,$key,$value) {
$result = array();
foreach($data as $dval) {
if(!isset($dval[$key])) {
continue;
}
if(is_array($value)) {
if(in_array($dval[$key], $value)) {
$result[] = $dval;
}
} else {
if(($dval[$key] == $value)) {
$result[] = $dval;
}
}
}
searchdata($data,'gid',array(3,4,5));
漂亮男人2017-06-05 11:11:37
$old = array(
array(
'gid'=> 1,
'name'=> 'xx1'
),
array(
'gid'=> 2,
'name'=> 'xx2'
),
array(
'gid'=> 4,
'name'=> 'xx4'
),
array(
'gid'=> 6,
'name'=> 'xx6'
),
);
$exist_gids = array_flip(array_column($old, 'gid'));
$condition_gids = array(3, 4, 5);
$new = array();
foreach ($condition_gids as $gid) {
if (isset($exist_gids[$gid])) {
$new[] = $old[$exist_gids[$gid]];
}
}
var_dump($new);