PHP中的数组数据过滤
我有一个如下的数组-PHP中的数组数据过滤,php,arrays,filter,Php,Arrays,Filter,我有一个如下的数组- Array ( [0] => Array ( [name] => 3DModel [url] =>psde/img/lanai-1024x480.jpg ) [1] => Array ( [name] => BuilndingModel [url] => psde/img/lot34-front.jpg ) [2] => Array ( [nam
Array (
[0] => Array (
[name] => 3DModel
[url] =>psde/img/lanai-1024x480.jpg
)
[1] => Array (
[name] => BuilndingModel
[url] => psde/img/lot34-front.jpg
)
[2] => Array (
[name] => 3DModel
[url] => psde/img/home-1024x480.jpg
)
)
我只想取出包含我指定的特定值的数组,例如,我想取出包含键'name'='3Dmodel'值的数组。对于上面的例子,我只想得到数组-
[0] => Array (
[name] => 3DModel
[url] => /psde/img/lanai-1024x480.jpg
)
[2] => Array (
[name] => 3DModel
[url] => psde/img/home-1024x480.jpg
)
有没有办法做到这一点?。。。像这样的
$arr = array( 'element1' => 1, 'element2' => 2, 'element3' => 3, 'element4' => 4 );
$filterOutValue = array( 2, 4 );
试试这个:
$arr = array( 'element1' => 1, 'element2' => 2, 'element3' => 3, 'element4' => 4 );
$filterOutValue = array( 2, 4 );
$arrResult = array();
foreach($filterOutValue AS $value) {
foreach($arr AS $kArr => $vArr) {
if($value == $vArr) {
$arrResult[$kArr] = $vArr;
break;
}
}
}
print_r($arrResult);
试试这个
function filter_array($arr,$value,$key)
{
$new_arr = array();
foreach($arr as $arr_res)
{
if($arr_res[$key]==$value)
{
$new_arr[] = $arr_res;
}
}
return $new_arr;
}
拜访
$new_arr = filter_array($arr,'3DModel','name');
试试这个
$myarray = array (
0 => array (
'name' => '3DModel',
'url' =>'psde/img/lanai-1024x480.jpg'
),
1 => array (
'name' => 'something',
'url' => 'psde/img/lot34-front.jpg'
),
2 => array (
'name' => '3DModel',
'url' => 'psde/img/home-1024x480.jpg'
),
);
$newarray=array();
foreach($myarray as $key=>$item)
{
if($item['name']==='3DModel'){
$newarray[$key]=$item;
}
}
echo "<pre>";
print_r ($newarray);
echo "</pre>";
$myarray=array(
0=>数组(
'名称'=>'三维模型',
'url'=>'psde/img/lanai-1024x480.jpg'
),
1=>数组(
“name”=>“某物”,
'url'=>'psde/img/lot34 front.jpg'
),
2=>数组(
'名称'=>'三维模型',
'url'=>'psde/img/home-1024x480.jpg'
),
);
$newarray=array();
foreach($myarray作为$key=>$item)
{
如果($item['name']='3DModel'){
$newarray[$key]=$item;
}
}
回声“;
打印(新数组);
回声“;