【问题标题】:PHP arrray and stringPHP数组和字符串
【发布时间】:2018-05-04 09:44:02
【问题描述】:

我遇到了数组问题。当我尝试获取第一个数组 [0] 时,它没有给我任何东西。 这是输出

array(4) { [0]=> string(0) "" [333]=> string(123) "https://s3-us-west-2.amazonaws.com/hl-cdn-prod60/f/de/d6/fded6f1587f863a9e8fc1c2173143a8782fa655e/700Wx700H-105395-0416.jpg" [334]=> string(125) "https://s3-us-west-2.amazonaws.com/hl-cdn-prod60/e/b9/54/eb954216442547d2ed2c71adbcf73d4f2b3ef903/700Wx700H-105395-a-0416.jpg" [335]=> string(125) "https://s3-us-west-2.amazonaws.com/hl-cdn-prod60/7/16/95/71695917dd17d29648c8f4907000e3c6cab64581/700Wx700H-105395-b-0416.jpg" }

这是代码

private function getImages($dom) {

        $images = [];

        foreach ($dom->getElementsByTagName('ul') as $ul) {
            if ($ul->getAttribute('class') == 'image-thumbnails') {
                foreach ($dom->getElementsByTagName('li') as $li) {
                    $images[] = $li->getAttribute('data-zoom-url');
                }
            }
        }

        $images = array_unique($images);

        return $images;
    }

【问题讨论】:

  • 输入数据是什么?即,$dom 变量中有什么?
  • “它什么也没给我”是什么意思?显示器上什么都没有打印?因为当你请求第一个元素时,数组实际上给了你一些东西:一个空字符串。

标签: php arrays string


【解决方案1】:

如果要排除空值,请在添加到数组之前检查属性是否为空:

if(!empty($li->getAttribute('data-zoom-url'))) {
   $images[] = $li->getAttribute('data-zoom-url');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2016-01-09
    • 2015-05-02
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多