提问人:Chl Lila 提问时间:2/2/2016 最后编辑:Chl Lila 更新时间:2/2/2016 访问量:473
如何解决$unset键上的键变量
How to solve the key variable on $unset key
问:
我正在运行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++;
}
}
}
有没有快速解决这些错误的办法? 非常感谢任何帮助
谢谢
答:
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++;
}
}
}
评论
$key
$key
不存在/没有值,因此它不知道要取消设置什么。