Wat.

@fubo@lemmy.world
link
fedilink
7
edit-2
1Y

If you think PHP is weird, go look up ZZT-OOP, the scripting language from Tim Sweeney’s first game.

(No, a scripting language for game characters doesn’t need integers. If you need to count, you can do that by moving blocks around on the game board. It’s halfway between LOGO and Minecraft.)

I would expect this from Javascript :S

ZZT came out in 1991. JavaScript didn’t exist for at least four years after that.

Ah, I understand now. The expression is evaluated like this:

  • $a == 1 ? "one" : $a == 2 ? "two" : $a == 3 ? "three" : "other"
  • $a == 2 ? "two" : $a == 3 ? "three" : "other"
  • "two" ? "three" : "other"
  • "three"
finn
link
fedilink
91Y

Ever wondered about the array_fill function? It can be baffling. Try filling an array with a negative index:

array_fill(-5, 4, 'test');

Many languages would throw an error, but PHP? It’s perfectly fine with this and you get an array starting at index -5. It’s like PHP is the Wild West of array indexing!

You think that’s bad, just wait until you hear what C does

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
link
fedilink
51Y

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
link
fedilink
21Y

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.

!programmeranimemes@lemmy.world

Ah, I understand now. The expression is evaluated like this:

  • $a == 1 ? "one" : $a == 2 ? "two" : $a == 3 ? "three" : "other"
  • $a == 2 ? "two" : $a == 3 ? "three" : "other"
  • "two" ? "three" : "other"
  • "three"

To be fair: If you are chaining ternary expressions, you deserve to suffer whatever pain the language happens to inflict upon you tenfold.

@kolorafa@lemmy.world
link
fedilink
English
131Y

PHP Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e)

Mike
link
fedilink
191Y

Hating on php is one of the reasons i left reddit. This is just people who don’t use php hating php for some reason. You can do dumb examples like this for any language. Low effort and funny for children.

Hey, I hate php AND javascript, and I’ve worked in both of them. :P

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 3 users / day
  • 7 users / week
  • 108 users / month
  • 558 users / 6 months
  • 1 subscriber
  • 898 Posts
  • 3.11K Comments
  • Modlog