• marcos@lemmy.world
    link
    fedilink
    arrow-up
    20
    ·
    1 year ago

    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
      15
      ·
      1 year ago

      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
        5
        ·
        1 year ago

        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.