• marcos@lemmy.world
    link
    fedilink
    arrow-up
    18
    ·
    1 年前

    Well, many languages are perfectly ok with negative array indexes.

    But all of those languages are either statically typed ones where you declare the boundings with the array, or php.

    • finn@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      1 年前

      Absolutely, many languages do allow negative indices. The intriguing part about PHP, though, is that its ‘arrays’ are actually ordered maps (or hash tables) under the hood. This structure allows for a broader range of keys, like our negative integers or even strings. It’s a unique design choice that sets PHP apart and allows for some really interesting usage patterns. Not your everyday array, right?

      • Funwayguy@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        1 年前

        I’ve been working with PHP for two years now (not by choice) but I still sometimes forget the weird behaviours these not-arrays cause. Recently I was pushing/popping entries in a queue and it fucked the indexing. I had programmed it like I would any other sane language and it wasn’t until I was stepping through the bug I realised I had forgotten about this.

        I hate PHP for so many more reasons. It baffles me why anyone would think it was a good idea to design it this way. Thankfully my current job involves actively burning it down and preparing for its replacement.