此代码的每次迭代都会出现“非法偏移类型”错误。如果有人可以提供帮助,以下是代码:
if ( ! empty( $display_args['allowed_tags'] ) ) {
$allowed_tags = [];
foreach ( $display_args['allowed_tags'] as $tag ) {
$allowed_tags[ $tag ] = array();
}
print_r($allowed_tags);
}
任何想法。预先感谢。
答案 0 :(得分:2)
在迭代的某个时刻,$tag
中的$allowed_tags[ $tag ]
不能用作数组键。
例如,尝试执行:
<?php
$a[ array() ] = 'hello';
您将获得:
警告:{{filepath}}第2行中的偏移量类型非法
因此,您不能像这样盲目使用$tag
。
每个评论的更新:
对于调试,您可以使用is_scalar()
来查看一个值是否可用作数组键:
if ( ! empty( $display_args['allowed_tags'] ) ) {
$allowed_tags = [];
foreach ( $display_args['allowed_tags'] as $tag ) {
if( is_scalar( $tag ) ) {
$allowed_tags[ $tag ] = array();
}
else {
echo 'cannot use!';
var_dump( $tag );
echo '<br>';
}
}
print_r($allowed_tags);
}