多维数组过滤[PHP]
我正在尝试通过[channel]将此阵列的部分文件归档(如下所示): 所以结果应该是(如果通道是恍惚状态): 。。。我试过foreach循环。。。使不安但没有多大成功。。还有阵列过滤器 对于foreach,我试着这样做(但我不知道在循环结束后如何更新$show_数据数组…嗯,我对php非常熟悉:多维数组过滤[PHP],php,arrays,foreach,array-filter,Php,Arrays,Foreach,Array Filter,我正在尝试通过[channel]将此阵列的部分文件归档(如下所示): 所以结果应该是(如果通道是恍惚状态): 。。。我试过foreach循环。。。使不安但没有多大成功。。还有阵列过滤器 对于foreach,我试着这样做(但我不知道在循环结束后如何更新$show_数据数组…嗯,我对php非常熟悉: foreach($show_data as $idindex => $codearray){ foreach($codearray as $codestring =>
foreach($show_data as $idindex => $codearray){
foreach($codearray as $codestring => $paramarray) {
foreach($paramarray as $param => $val) {
if(preg_grep('/trance/', $paramarray)){
unset($paramarray[$val]);
}}}}
print_r($show_data);
我也尝试过(但如果第一个是trance,那么它不会过滤掉其余的..即使是techno…我需要它在[5d1838c3aa6344e3109ab4f0122492f7]级别过滤掉):
提前谢谢!试试这个:它会让你受益的
$output_array();
$i = 0;
foreach ($show_data as $data) {
foreach ($data as $subdata) {
if ($subdata['channel'] == 'trance') {
$output_array[$i] = $subdata;
}
}
$i++;
}
echo '<pre>';
print_r($output_array);
die;
$output_array();
$i=0;
foreach($show_data as$data){
foreach($data作为$subdata){
如果($subdata['channel']=='trance'){
$output_数组[$i]=$subdata;
}
}
$i++;
}
回声';
打印(输出数组);
死亡
尝试以下代码:-
Array
(
[5d1838c3aa6344e3109ab4f0122492f7] => Array
(
[dj_name] => Emilian
[channel] => trance
)
[e13268de7c56db42f8aeab2ab4c607f2] => Array
(
[dj_name] => John Doe
[channel] => trance
)
)
尝试if(preg_grep('/trance/',$val)){
$genre = 'trance';
$data = array_filter($dataraw, function($fs) use ($genre) {
return current($fs)['channel'] === $genre;
});
$output_array();
$i = 0;
foreach ($show_data as $data) {
foreach ($data as $subdata) {
if ($subdata['channel'] == 'trance') {
$output_array[$i] = $subdata;
}
}
$i++;
}
echo '<pre>';
print_r($output_array);
die;
$result = [];
foreach($arr as $key=>$val){
foreach($val as $k=>$v){
if($v['channel']=='trance'){
$result[$k] = $v;
}
}
}
echo '<pre>'; print_r($result);
Array
(
[5d1838c3aa6344e3109ab4f0122492f7] => Array
(
[dj_name] => Emilian
[channel] => trance
)
[e13268de7c56db42f8aeab2ab4c607f2] => Array
(
[dj_name] => John Doe
[channel] => trance
)
)