首页 > 解决方案 > 从 php 数组中取消设置变量

问题描述

我有一个数组,当打印出来时,看起来如下所示,尽管有许多警告和成功消息可用:

Array
(
    [warning] => Array
        (
            [0] => We might have a problem.
            [1] => You might have a problem.
            [2] => They may have a problem.
        )

    [success] => Array
        (
            [0] => Everything is awesome
        )

)

我需要查看数组并找到带有字符串值的警告You might have a problem.。所以我有以下代码:

foreach($msgArray as $msgType => $messages) {
    foreach($messages as $message => $msg) {
        if($message == 'warning' && $msg == 'You might have a problem.'){
            unset($msgArray[$msgType]);
        }
    }
}

但不幸是,这会warning$msgArray.

如何删除带有值“您可能有问题。”的警告?

谢谢!

标签: phparraysunset

解决方案


您正在删除顶级密钥。只需删除第二级:

unset($msgArray[$msgType][$message]);

PS鉴于您显示的数据和代码,$message永远不会warning$msgType将会。


推荐阅读