如何修复我的 PHP 代码中的“尝试访问 bool in 类型值的数组偏移量”?

问题描述 投票:0回答:1

注意:尝试访问 bool in 类型值的数组偏移量

/**
 * Get the image size as array from its meta data.
 *
 * Used for responsive images.
 *
 * @since 4.4.0
 * @access private
 *
 * @param string $size_name  Image size. Accepts any registered image size name.
 * @param array  $image_meta The image meta data.
 * @return array|false {
 *     Array of width and height or false if the size isn't present in the meta data.
 *
 *     @type int $0 Image width.
 *     @type int $1 Image height.
 * }
 */

function _wp_get_image_size_from_meta( $size_name, $image_meta ) {
    if ( 'full' === $size_name ) {
        return array(
            absint( $image_meta['width'] ),
            absint( $image_meta['height'] ),
        );
    } elseif ( ! empty( $image_meta['sizes'][ $size_name ] ) ) {
        return array(
            absint( $image_meta['sizes'][ $size_name ]['width'] ),
            absint( $image_meta['sizes'][ $size_name ]['height'] ),
        );
    }

错误表明此行不正确:

absint( $image_meta['width'] ),

这个错误是第一次出现,我确实需要修复它,但我不知道它在说什么以及如何解决。有人可以帮我吗?我该怎么办?

我尝试 wp 关于插件更新。但还是不行。

php
1个回答
0
投票

在访问任何数组/对象的属性之前,请使用

isset
empty
函数检查它是否具有值。

举个例子

if(!empty($image_meta['width'])){ }

它会解决你的问题!

© www.soinside.com 2019 - 2024. All rights reserved.