当前位置:首页 » 编程语言 » php数组筛选

php数组筛选

发布时间: 2022-02-22 18:14:13

‘壹’ php数组如何按条件查询

算法如novice_pegasus的,但是完整一些该是:

foreach($array as $each){
if($each<10){//小于10的归集一个数组
$newarray[0][] = $each;
}elseif($each>=10 && $each<20){//10到20之间的归集一个数组
$newarray[1][] = $each;
}
else//大于20的归集一个数组
$newarray[2][] = $each;
}

print_r($newarray);

‘贰’ php,请问对已知二维数组,根据某个字段添加条件筛选怎么做

第一个方法:新建一个空的数组,再循环该数组,如果distance<10000,就压入新建的数组中。

第二个方法:使用array_filter()方法,

<?php
$array=array(
array('id'=>1,'distance'=>131),
array('id'=>2,'distance'=>13100),
array('id'=>3,'distance'=>13231),
);

functionfilterDistance($arr)
{
return($arr['distance']<10000);
}

$array=array_filter($array,"filterDistance");
var_mp($array);
?>

‘叁’ php数组筛选问题

<?php
$res=array (
0 => array('id' =>'76',
'title' =>'gf',
'type' =>'4' ,
'update_time' =>'1433814812',
'status' =>'1' ,
'view' =>'0',
'category_id' =>'2' ,
'model_id' =>'2',
'pid' =>'0'),
1 => array('id' =>'75',
'title' =>'骑士妙招破死局' ,
'type' =>'1',
'update_time' =>'1433758503',
'status' =>'1' ,
'view' =>'0' ,
'category_id' =>'2',
'model_id' =>'2',
'pid' =>'0'),
2 =>array('id' =>'74',
'title' =>'职场新人要学会的4件事',
'type' =>'5',
'update_time' =>'1433757936',
'status' =>'1',
'view' =>'0',
'category_id' =>'2',
'model_id' =>'2',
'pid' =>'0'),
3 =>array('id' =>'73',
'title' =>'职场新人该如何看待繁琐的工作',
'type' =>'5',
'update_time' =>'1433757902',
'status' =>'0',
'view' =>'0',
'category_id' =>'2',
'model_id' =>'2',
'pid' =>'0'));
$tot=count($res);
for($i=0;$i<$tot;$i++)
{
if($res[$i]['type']=='5')
{
foreach($res[$i] as $a)
{
echo("<div>".$a."</div>");
}
}
}
?>

‘肆’ 请教如何在PHP多维数组中筛选出自己想要的数值并输出

$ar = Array(
Array (
'log_data' => 4,
'log_result' => 0,
'log_time' => '2013-05-08 10:08:40'
),
Array (
'log_data' => 10018,
'log_result' => 2,
'log_time' => '2013-05-08 10:13:58',
),
Array (
'log_data' => 10018,
'log_result' => 2,
'log_time' => '2013-05-08 10:14:02',
),
Array (
'log_data' => 10003,
'log_result' => 50,
'log_time' => '2013-05-08 10:18:29',
),
);
foreach($ar as $item) {
@$res[$item['log_data']][strtok($item['log_time'], ' ')] += $item['log_result'];
}
print_r($res);

‘伍’ php 根据某一元素值进行数组筛选

<?php
functionfilter($elem){
return$elem['type']=='空调';
}
$arr=Array(
Array('id'=>1,'type'=>'空调'),
Array('id'=>2,'type'=>'电视机'),
Array('id'=>3,'type'=>'空调')
);
$newarr=array_filter($arr,'filter');
print_r($newarr);
exit;

‘陆’ PHP 对象数组的筛选和判断

手打不易,有用请采纳。

$rArray = json_decode(json_encode($r),true);//通过json将对象转换为数组。
foreach($rArray as $k => $v){
if($v['banji']==1){ //如果banji=1则求语文成绩
echo "语文成绩={$v['yuwen']}";
}elseif($v['banji']==2){ //如果banji=2则求数学成绩
echo "语文成绩={$v['shuxue']}";
}
if($v['xingming']=='x'){ //有一个姓名为$x是否在banji1
if($v['banji']==1){
echo "xingmign为x的是班级1";
}else{
echo "xingmign为x的不是班级1";
}
}
}

‘柒’ php关于数组中取出符合条件的值办法

<?php
$arr=array('');

foreach($arras$k=>$v){
if($v>0&&$v<100){
$arr1[]=$v;
}elseif($v>100&&$v<200){
$arr2[]=$v;
}

}

‘捌’ php 一个多维数组根据一维数组筛选数据,得到新数组

<?php

$a=array(
'BL001'=>array('A14257','B17548'),
'CDF002'=>array('A14257','C48751'),
'FGE453'=>array('DF5533','GR6445','GH5544'),
'GEN001'=>array('NT7532','DE9342','C48751'),
);

$b=array('A14257','E453T4','Y64344','FG4809','C48751','H4443R');

foreach($aas$k=>$v){
$t=array_intersect($v,$b);
if($t){
$c[$k]=$t;
}
}

print_r($c);
?>

‘玖’ php 二维数组筛选问题

<?php
$arr = array(
array('id'=>'1','姓名'=>'小白','性别'=>'男','班级'=>'1','总分'=>75),
array('id'=>'2','姓名'=>'小黑','性别'=>'男','班级'=>'1','总分'=>76),
array('id'=>'3','姓名'=>'小明','性别'=>'女','班级'=>'1','总分'=>77),
array('id'=>'4','姓名'=>'小光','性别'=>'女','班级'=>'1','总分'=>80),
array('id'=>'5','姓名'=>'小草','性别'=>'女','班级'=>'1','总分'=>82),
array('id'=>'6','姓名'=>'小丽','性别'=>'男','班级'=>'1','总分'=>90),
array('id'=>'7','姓名'=>'小红','性别'=>'男','班级'=>'1','总分'=>90),
array('id'=>'8','姓名'=>'小蓝','性别'=>'男','班级'=>'1','总分'=>84)
);

//第一次遍历数组筛出男性
//用到循环函数、数组函数:foreach、array_push

$manArr = array();//定义个空数组,一会装男性数据
$topScore = 0;//定义个最高总分,一会在遍历过程顺便获取最高分

foreach($arr as $v){
if($v['性别']=='男'){
//对符合男生条件的数组进行记录
array_push($manArr,$v);//把符合男性条件的数组装进刚定义的空数组
//记录男生最高分的分数
if($v['总分']>$topScore){
$topScore = $v['总分'];
}
}
}
//所以现在$manArr就是所有男性了,array('小白'=>75,...)

//接下来是求出总分最高的,继续用循环的方式取出成绩等于最高分数的
foreach($manArr as $v){
if($v['总分']==$topScore){
echo $v['姓名'] . "\r\n";
}
}

‘拾’ php中过滤数组中的某个值

<?php
$bb=array('a');
$aa=array('a','b','c','d','e','f');
$cc=array_diff($aa,$bb);
print_r($cc);
?>

array_diff 返回2个数组的差集,数组元素多的放前面

热点内容
java数据导入excel 发布:2025-01-08 13:25:38 浏览:626
工作站服务器的视频ip怎么看 发布:2025-01-08 13:09:15 浏览:652
唱吧上传卡住 发布:2025-01-08 12:52:23 浏览:531
烤鸡存储 发布:2025-01-08 12:50:16 浏览:793
android获取电量 发布:2025-01-08 12:44:42 浏览:761
samp服务器如何设置ip直播 发布:2025-01-08 12:35:20 浏览:123
5七的算法 发布:2025-01-08 12:30:59 浏览:447
linuxsvn配置 发布:2025-01-08 12:19:11 浏览:381
苹果扁头耳机如何在安卓手机上用 发布:2025-01-08 12:17:37 浏览:110
为什么解绑卡还要密码 发布:2025-01-08 12:13:51 浏览:74