如何从数组中删除所有匹配的值

时间:2016-02-05 12:28:26

标签: php arrays

请仔细检查数组的输入和输出,并帮助我只保留数组中的键,并使匹配值为空。

输入:

Array
(
    [date] => 2016-02-23
    [onday] => 1
    [session] => Morning
    [start_time] => 08:30:00
    [cd_desc] => REGISTRATION
    [end_time] => 09:00:00
    [Name] => Fname Lname
    [profile_Pic] => 145464959476.jpg
)
Array
(
    [date] => 2016-02-23
    [onday] => 1
    [session] => Morning
    [start_time] => 09:30:00
    [cd_desc] => ON LABEL VS OFF LABEL (BOTOX)
    [end_time] => 09:45:00
    [Name] => Fname Lname
    [profile_Pic] => 145464959476.jpg
)
Array
(
    [date] => 2016-02-23
    [onday] => 2
    [session] => Morning
    [start_time] => 09:00:00
    [cd_desc] => INTRODUCTION
    [end_time] => 09:15:00
    [Name] => Fname Lname
    [profile_Pic] => 145464959476.jpg
)

Array
(
    [date] => 2016-02-20
    [onday] => 2
    [session] => Morning
    [start_time] => 01:00:00
    [cd_desc] => Lunch
    [end_time] => 02:15:00
    [Name] => Fname Lname
    [profile_Pic] => 146.jpg
)

输出:

    date => 
    onday => 1
    session => 
    start_time => 08:30:00
    cd_desc => REGISTRATION
    end_time => 09:00:00
    Name => Fname Lname
    profile_Pic => 145464959476.jpg

    date => 
    onday => 
    session => 
    start_time => 09:30:00
    cd_desc => ON LABEL VS OFF LABEL (BOTOX)
    end_time => 09:45:00
    Name => Fname Lname
    profile_Pic => 145464959476.jpg

    date => 
    onday => 2
    session => 
    start_time => 09:00:00
    cd_desc => INTRODUCTION
    end_time => 09:15:00
    Name => Fname Lname
    profile_Pic => 145464959476.jpg

    date => 
    onday => 
    session => 
    start_time => 01:00:00
    cd_desc => Lunch
    end_time => 02:15:00
    Name => Fname Lname
    profile_Pic => 146.jpg

查看dateondaysession在显示每个循环时应为空白

我想从数组中删除所有匹配的值,而不是键。我想使用密钥

2 个答案:

答案 0 :(得分:0)

尝试此代码,如果项目的长度为0,则不会显示

 foreach($courseinfo['olinelist'] as $lists){ 
            foreach ($lists as $item){
                if ( strlen($item) > 0 ) {
                    echo $item; 
                }
            }
        }

答案 1 :(得分:0)

$a=[...];
$blacklist=['onday','date'];
$b=[];
foreach($a as $c) {
  foreach($c as $key, $val) {
    if(!in_array($key, $blacklist)){
       echo $key . " => " . $val . "\n";
    } else {
      echo $key . " =>\n";
    }
}