1. PHP / Говнокод #18192

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (count($stores) == 1) {
        foreach ($stores as $store) {
            $storeId = $store->id;
        }
    }

    Запостил: jbot, 18 Мая 2015

    Комментарии (6) RSS

    • Забыл указать: переменная $stores является не просто массивом - она является экземпляром класса, реализующего интерфейсы SeekableIterator и Countable.
      Ответить
      • Это потому, что ПХП – говно, в котором невозможно копошиться без толковой IDE.
        Ответить
        • Вы так говорите, как будто IDE пишет код за программиста.
          Ответить
          • не пишет, но, сцука, дописывает и периодически неправильно
            Ответить
      • > она является экземпляром класса, реализующего интерфейсы SeekableIterator и Countable
        Но не является экземпляром ArrayAccess или как там его у вас, чтобы просто достать нужный элемент как $stores[0]?

        P.S. Не говнокодная версия будет как-то так?
        $stores->rewind();
        if ($stores->valid())
            $storeId = $stores->current()->id;
        Ответить
        • У Countable есть метод count(), а у SeekableIterator есть метод current(). Я бы написал примерно как у вас, только вместо valid() использовал count() == 1, для ясности.
          Ответить

    Добавить комментарий