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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $temp = $this->user->get($value['user_id']);
    foreach ($temp as $var) {
    	$temp = $var;
    	break;
    }

    Просматривал код курсвых по web-программированию, нашел новейший метод извлечения первого элемента массива

    Запостил: skad0, 13 Января 2016

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

    • Так нормальный способ же. Учитывая что в пхп начальный элемент не обязательно с нулевым индексом.
      Ответить
      • > начальный элемент не обязательно с нулевым индексом
        Вот нахуй так жить? Вместо того, чтобы держать массив правильно пронумерованным, городите эти костыли...
        Ответить
      • Тогда http://php.net/manual/ru/function.array-shift.php. И извлечет, и перенумерует.
        Ответить
        • Это если извлекать/перенумеровывать нужно.
          Если не нужно, то лучше: http://php.net/manual/ru/function.reset.php .
          $temp = reset($this->user->get($value['user_id']));
          Ответить
          • Так тоже нельзя. в reset значение передается по ссылке, а вы передаете выражение.
            С reset - только так:

            $temp = $this->user->get($value['user_id']);
            $temp = reset($temp);
            Ответить
    • Только вроде это работает за O( sizeof($temp) ).
      Т.к. массив полностью копируется, если я не ошибаюсь. Именно поэтому в foreach можно итерироваться и изменять массив одновременно.
      Ответить
      • Никогда не считалось хорошей практикой итерировать и изменять массив одновременно. Можно так смачно выстрелить себе в ногу, что аж по самую жопу отвалится.
        Ответить
    • Кручу верчу обмануть хочу
      $temp = $this->user->get($value['user_id']);
      foreach ($temp as $temp) break;
      Ответить

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