如何解决$unset键上的键变量

How to solve the key variable on $unset key

提问人:Chl Lila 提问时间:2/2/2016 最后编辑:Chl Lila 更新时间:2/2/2016 访问量:473

问:

我正在运行PHP脚本,并不断收到以下错误:

注意:未定义变量:在D:\0-MYBLOG\SERVER-MYBLOG\InstantWP_4.3.1\iwpserver\htdocs\wordpress\wp-content\plugins\sama-author-review\admin\metabox.php 310行中键入

第 310 行如下所示:

unset( $new['items_review'][$key] );

代码如下:

        if ( $new['items_review'] && is_array( $new['items_review'] )) {

            foreach ( $new['items_review'] as $review ) {

                if ( empty( $review['label'] ) ) {
                    unset( $new['items_review'][$key] );
                } else {
                    $review['value'] = absint( $review['value'] );
                    $review['label'] = esc_attr( $review['label'] );

                    if ( empty( $review['slug'] )) {
                        $review['slug']  = sanitize_title( $review['label'] );
                    } else {
                        $review['slug']  = sanitize_title( $review['slug'] );
                    }
                    $review['style'] = esc_attr( $review['style'] );
                    $items_review[$i] = $review;
                    $i++;
                }
            }   
        }

有没有快速解决这些错误的办法? 非常感谢任何帮助

谢谢

php wordpress 未定义索引

评论

1赞 Funk Forty Niner 2/2/2016
stackoverflow.com/questions/4261133/......<可能的重复项。
0赞 Chl Lila 2/2/2016
这个未设置几乎没有什么不同。我之前读过那篇帖子,但无法解决我的问题。
0赞 Funk Forty Niner 2/2/2016
对此表示怀疑。您没有只为一行代码显示任何内容。$key
3赞 Matt 2/2/2016
$key不存在/没有值,因此它不知道要取消设置什么。
0赞 Chl Lila 2/2/2016
你好,马特。只需更新,在上面添加了代码。谢谢

答:

2赞 RiggsFolly 2/2/2016 #1

我想我明白问题出在哪里了,你忘了把关键参数放在你的语句上。foreach

我承认这有点猜测,因为我不知道里面有什么,但它缝合了一种合乎逻辑的可能性。$new

if ( $new['items_review'] && is_array( $new['items_review'] )) {

//    foreach ( $new['items_review'] as $review ) {
// replace foreach with this line

    foreach ( $new['items_review'] as $key => $review ) {

        if ( empty( $review['label'] ) ) {
            unset( $new['items_review'][$key] );
        } else {
            $review['value'] = absint( $review['value'] );
            $review['label'] = esc_attr( $review['label'] );
            if ( empty( $review['slug'] )) {
                $review['slug']  = sanitize_title( $review['label'] );
            } else {
                $review['slug']  = sanitize_title( $review['slug'] );
            }
            $review['style'] = esc_attr( $review['style'] );
            $items_review[$i] = $review;
            $i++;
        }
    }   
}