@@juanmalpartida1333 You say that like If this was some old obscure language. But there are tons of people using it now days for things like WordPress and Laravel
I'm fairly new to getting back into C (did some Java stuff back in 2009-2012 but switched to hardware) And even I'm this question. But tbh I need to get better at C# (unity) and learn Python because that's where my potential career path lies.. But I wanna finish making a video game first lmfao
Actually it's a way to call a variable... Variable names can contain variables if you write them with curly braces like $bar = 'crazy'; ${"foo".$bar} = "PHPlol"; Echo $foocrazy; // will output PHPlol And even more weird but useful stuff if you don't use unfiltered user input in the name of the variable. Oh, and part of this stuff works to call functions too !
@@spacewargamer4181 I mean if your job is to fix that and you get paid to do so to sit there for 8 hours and try and figure it out and after those 8 hrs you get to go home do you really care about the task at that point
@@spacewargamer4181 Ok, maybe my point didnt come across clear. What Im trying to say is that as long as you get paid fairly why care about the work you are given. does that make sense?
Frameworks like Laravel puts you to the right path of lord of code by giving you a concrete way to do your stuff. So is not PHP, is the way you use it and organize your code.
This also possible in Python and other languages. Although Python you have to explicitly say globals()[variable]. Dynamic variables. It’s a type of reflection, also note - it’s not really used in PHP by developers. Just like it’s not really used in most other languages. But yes, this is a thing in many languages. Even can be emulated in JavaScript.
for commenters: no, its not a pointer mechanism, but lexical scope lookup, that is common for dynamic langs. in python you would do this by locals()[bar], for example
Been a few years since I was a PHP dev, but I seem to recall that these so-called "variable variables" were universally loathed by the community and their usage considered to be pretty much unforgivable, for pretty obvious reasons.
PHP is really nice programming language, it’s really easy to adapt also easy to search knowledgebase. BUT easy is weakness for PHP. When beginner make code, debug will be nigthmare.
0:30 I agree in general PHP is a simple easy language, thus fun. But your example is the kind of code how you get injection. It needs to have lots of checks around it.
To all the people saying this is a pointer, it's not. In fact based on the experiments I did with it, it's more similar to javascript objects than anything else. That is, `${...}` in PHP is similar to `window[...]` in javascript. A *pointer* is a variable that stores a memory address. A pointer can be _dereferenced_ to extract a value from its address, and it can have _arithmetic_ done on it to derive a new offset pointer. For example, if you have a pointer named `buffer`, you can make another pointer `bufferptr`, use the second pointer to "walk" the memory pointed to by `buffer`, and then return `bufferptr - buffer` to get the length of the data stored in `buffer` via `bufferptr`. Or, you can take a pointer like `string`, add to it `token = string + 5`, and `token` will hold a substring. I see where some people would be confused, because $$variable does _look_ like a pointer dereference, but it's not. It's a key lookup. A *reference* is similar to a pointer, but different. A reference is a variable that mirrors a value. References can be implemented with pointers, but they are not themselves pointers, because references cannot be manually dereferenced or have arithmetic done on them. In languages that have references, technically everything is a reference. For example, in JavaScript, `let foo = 5` creates a reference named `foo` to the value 5. Modifying foo is actually creating a new Number object with the new value and setting foo to be a reference to the new object. The old object, without any living references to it, is eventually garbage-collected. if you then do `let bar = foo`, even though bar is also a reference to 5, foo and bar are not referencing the same object. Since `5` is an instance of a primitive type, it's copied every time it's stored. So modifying foo will not also modify bar. Numbers, strings and booleans are primitive values. Then you have objects and arrays, which are created in memory and then a reference is stored. If you do `a = [1,2,3]; b = a`, then a and b are actually both references to the same array. Modifying one modifies the other. This can get confusing, because JavaScript also has == and === for comparing. === was added later on because of Javascript's fucked up type system. == does a value compare, but will coerce types to make the comparison, which leads to silly results like `[] == false` being true. === is different in that it first checks the types of its operands and will automatically yield false if the types are too different to be compared without duck typing. But then you can also have surprising results, like `a = 5; b = 5; a === b` is true, while `a = []; b = []; a == b` is false, while `a = []; b = a; a === b` is true. That's because for objects that are passed by-reference, such as arrays, the identity is compared rather than the value. You can have two arrays that are completely identical in their contents, but if they are not references to the same array, then they will have different identities and therefore compare unequal. Strings are primitive, so they *are* compared by-value, but the fact that arrays cannot be compared with == or === can seriously trip programmers up. Though JavaScript is just a notoriously difficult language to debug to begin with. Why do you think there's such a huge push to move to TypeScript and WASM? You might hear of terms such as pass-by-value and pass-by-reference. C is 100% pass-by-value, which is why pointers are so necessary. JavaScript, on the other hand, is pass-by-sharing. Which is essentially what I described above wherein you have primitive types that are passed by-value (copied) and non-primitive values that are passed by-reference (mirrored). Pass-by-sharing is pretty common in managed languages. Though most languages tend to give you more explicit control over references, so in C# for example, you _can_ make a reference to an int. You can even use pointers in C#, though they're disabled by default and are locked behind the `unsafe` keyword (meaning you have to declare within an unsafe{...} scope and turn on a specific compiler switch if you want to use pointers at all). Every language is different and it's good to look into those things and test the basic mechanics to make sure they work as you think they do. It's worth having that deeper understanding.
I don't know my dude it kinda reminds me of a board with a nail sticking out on a walk path. Overwhelming feeling to get rid of it knowing that's gonna hurt if I step on it.
It really gets fun when you use variable variable names to create variables. Have an empty string, use that as a variable name and you've got an "unnamed" variable. Thankfully no one does that. I've never seen variable names in practice anyway.
Genuinely almost all programming languages have a way of doing this. So what you're saying is that all programming languages suck, because the programmer can write garbage code.
old grummer words passing to new generation from 2000, it has been an inside joke but people tend to be innocent with their lack of infomations... PHP sucks, and It still be taken a place inside me.
So for anyone curious these are called variable variables. This is usually an extreme edge case and you generally do not need to use these for almost anything. Please do not confuse these with pointers as they are not pointers.
You will most likely never run into such a problem if you stick to good structured programming and good practices. This is just anecdotal, I have never found it to be a problem.
@@king_james_official it's called a variable variable, some other languages have ways of doing this as well. I can see the overlap with a pointer, but since you're not storing a memory address it isn't one, and you don't get all the functionality of a pointer as a result. Personally I can't even think of a use case where you'd want to use this.
I didn't know you can do this more than once but the ability to reference anything in php is what I'm missing in a lot of languages. Php can parse itself, it's marvellous. You can have a piece of code that says "if I am inside a method then print the first 3 lines off my class code, whatever they are"...marvellous
@@georgplaz YOu know ppl in RL who you always have to ask? Annoying AF. Same like "you know what happen ..." or "whats the matter?" "nothing" -.- Just say it ffs :D --- Saying something without really telling something is useless. =)
fun fact, when you recieve requests to php, you can not have some charcaters in it, for example . because of a feature that was depricated 10 years ago... and you access it using a string.
@@aboshxm2416 5 years of PHP, never typed $ by mistake while accessing an object property. Btw any decent IDE will highlight dynamic property access with a specific color.
@@aboshxm2416 like I've been working with PHP for 8 years and I've never accidentally double $$-ed. Any IDE also highlights this occurrence differently than normal variables. This is such a dumb argument that I'm doubting that you're even a programmer.
@@AJD... what the fuck are you even talking about? Man I swear, some of you people are just throwing words around without having a clue about what they mean. How does calling a variable from a string value cause any of the vulnerabilities you just mentioned?
Fun Fact: This also works in Batch scripts! Although you can only do it once. Example: @echo off rem We use @echo off to hide the commands being executed. setlocal EnableDelayedExpansion rem This is important for this to work. :set variables set foo=Hello, world set bar=foo :output echo !%bar%!
Oh, I remember learning Java freshman year and wanting the ability to run many different variables through a method. I forgot the context cuz I stopped coding for a while, but I'd have loved this then.
a reason why php doesnt seem to make sense, as there is no obvious indication for that it is contained will be a reference to a variable with the string, so leading to unexpected behavior
Haaaa. I used to program PHP 20 years ago. I didn’t know this, but did probably stupid stuff like this to force certain data types from user input: $n = $_POST[‘input’] + 0 (I don’t remember exact syntax any more.)
It seems like now that there is v8.0, v8.1 and soon 8.2 and it implements some stuff out of othe languages it becomes popular again. Love that language to bits. Was my first i learned at 14 years
Mom can we have pointers?
No, we have pointers at home
Pointers at home:
it is like dynamic pointers:D
@@rad9587 reminds how dynamic array of pointer. Fun :D
Best comment
Dawg imagine doing an implementation of a hash table with dynamic arrays in this language ;-;
@@juanmalpartida1333 You say that like If this was some old obscure language. But there are tons of people using it now days for things like WordPress and Laravel
Pointers in php be like 😂
"yes, I use PHP pointers
$$$$$$$$$$$$$$$$
how did you know?"
💲💲💲 💲WAG POINTERS DEM MONEE 💲💲💲 😎😎😎
Lot of dollar but not a real dollar on your pocket.
@@gillarajieprasatya8798i bought a house with php
"PHP developers are well paid. We see dollar signs all the time"
want free money?
add more variables!
Because companies are complacent. Python and Js programmers are well paid by forward looking companies
@@ianlondon2888Seriously. PHP and JS pay the bills and it doesn’t even come close
same to jQuery 😂
C programmers : wait, isn't that a pointer?
ikr :)
I'm fairly new to getting back into C (did some Java stuff back in 2009-2012 but switched to hardware)
And even I'm this question.
But tbh I need to get better at C# (unity) and learn Python because that's where my potential career path lies..
But I wanna finish making a video game first lmfao
@@NotTheHeroStudios C# has much wider usage than unity
Actually it's a way to call a variable... Variable names can contain variables if you write them with curly braces like
$bar = 'crazy';
${"foo".$bar} = "PHPlol";
Echo $foocrazy; // will output PHPlol
And even more weird but useful stuff if you don't use unfiltered user input in the name of the variable.
Oh, and part of this stuff works to call functions too !
Pointerish aliases
PHP: the performance of JavaScript, the ease of C, and the design quality of PHP.
Bro really said ease of C 😂😂
php is like bash having an identity crisis
Bruh🤣🤣🤣
Well, if you think about it, PHP wasn't even supposed to be a language, so it's need of a therapist just seems natural.
^perl
or batch
or batch
That's so much fun haha imagine spending a whole week trying to fix that bug haha
Who cares as long as u get paid lol
@@TsoiIzAlive The mental health
@@spacewargamer4181 I mean if your job is to fix that and you get paid to do so to sit there for 8 hours and try and figure it out and after those 8 hrs you get to go home do you really care about the task at that point
@@TsoiIzAlive In this field of work? Yes you do
You have to fix it the next day
@@spacewargamer4181 Ok, maybe my point didnt come across clear. What Im trying to say is that as long as you get paid fairly why care about the work you are given.
does that make sense?
I laughed right after he said 'php is a fun language'.
Same here
Same here just a big headache
"php is a fun language" that is the best joke i've heard all year.
fun to write, harder to maintain
any sh*t code is hard to maintain, brotha
@@ward7576 and this is shit code, so it checks out
@@ward7576 I like how PHP features are just examples of shit code
Frameworks like Laravel puts you to the right path of lord of code by giving you a concrete way to do your stuff. So is not PHP, is the way you use it and organize your code.
@@arturorosas2170 or even better both language and framework are secure by design like for example rust or even go with gin
imagine losing track of how far up you want to reference lmao. so practical!!
I love how he uses double quotes and single quotes and doesn’t mention why or if there even is a reason.
The real reason is this:
I didn't even notice lmao
@@aschmelyun lmao
@@aschmelyun do they matter in php?
@@aimpizza6823 you can't use escape sequences like \t,
... nor interpolate variables within single quotes
@@sney2002 thank you
**PHPTSD intensifies**
looks like a huge security vulnerability
It isnt
Its very very useful
@@yungifez "it isnt"
@@yeetyeet7070 i tried 😂😂
It's a vulnerability if you have user input in double quotes. No issue if you're using single quotes.
@@yeetyeet7070 i tried my best
You won
This also possible in Python and other languages. Although Python you have to explicitly say globals()[variable].
Dynamic variables. It’s a type of reflection, also note - it’s not really used in PHP by developers. Just like it’s not really used in most other languages.
But yes, this is a thing in many languages. Even can be emulated in JavaScript.
Very true. This is possible in most languages but it's not really that useful for most use cases.
"This is the reason why ... *screams internally*"
😂
for commenters: no, its not a pointer mechanism, but lexical scope lookup, that is common for dynamic langs. in python you would do this by locals()[bar], for example
Been a few years since I was a PHP dev, but I seem to recall that these so-called "variable variables" were universally loathed by the community and their usage considered to be pretty much unforgivable, for pretty obvious reasons.
Still, it is a very useful feature of the language for some tasks.
That sweet video loop completion
yessir
I instantly know if someone is a trash dev when they use this feature.
Years, working in PHP
and
saw this now 😊
Been a PHP dev for 2 years now, never realized this was possible
I hope you don't mean to use this "feature".
@@rumble1925 I will use it now.
Old php websites burn my soul through the eyes as soon as I see the code.
PHP is really nice programming language, it’s really easy to adapt also easy to search knowledgebase. BUT easy is weakness for PHP. When beginner make code, debug will be nigthmare.
0:30 I agree in general PHP is a simple easy language, thus fun. But your example is the kind of code how you get injection. It needs to have lots of checks around it.
To all the people saying this is a pointer, it's not. In fact based on the experiments I did with it, it's more similar to javascript objects than anything else. That is, `${...}` in PHP is similar to `window[...]` in javascript.
A *pointer* is a variable that stores a memory address. A pointer can be _dereferenced_ to extract a value from its address, and it can have _arithmetic_ done on it to derive a new offset pointer. For example, if you have a pointer named `buffer`, you can make another pointer `bufferptr`, use the second pointer to "walk" the memory pointed to by `buffer`, and then return `bufferptr - buffer` to get the length of the data stored in `buffer` via `bufferptr`. Or, you can take a pointer like `string`, add to it `token = string + 5`, and `token` will hold a substring. I see where some people would be confused, because $$variable does _look_ like a pointer dereference, but it's not. It's a key lookup.
A *reference* is similar to a pointer, but different. A reference is a variable that mirrors a value. References can be implemented with pointers, but they are not themselves pointers, because references cannot be manually dereferenced or have arithmetic done on them. In languages that have references, technically everything is a reference. For example, in JavaScript, `let foo = 5` creates a reference named `foo` to the value 5. Modifying foo is actually creating a new Number object with the new value and setting foo to be a reference to the new object. The old object, without any living references to it, is eventually garbage-collected. if you then do `let bar = foo`, even though bar is also a reference to 5, foo and bar are not referencing the same object. Since `5` is an instance of a primitive type, it's copied every time it's stored. So modifying foo will not also modify bar. Numbers, strings and booleans are primitive values. Then you have objects and arrays, which are created in memory and then a reference is stored. If you do `a = [1,2,3]; b = a`, then a and b are actually both references to the same array. Modifying one modifies the other. This can get confusing, because JavaScript also has == and === for comparing. === was added later on because of Javascript's fucked up type system. == does a value compare, but will coerce types to make the comparison, which leads to silly results like `[] == false` being true. === is different in that it first checks the types of its operands and will automatically yield false if the types are too different to be compared without duck typing. But then you can also have surprising results, like `a = 5; b = 5; a === b` is true, while `a = []; b = []; a == b` is false, while `a = []; b = a; a === b` is true. That's because for objects that are passed by-reference, such as arrays, the identity is compared rather than the value. You can have two arrays that are completely identical in their contents, but if they are not references to the same array, then they will have different identities and therefore compare unequal. Strings are primitive, so they *are* compared by-value, but the fact that arrays cannot be compared with == or === can seriously trip programmers up. Though JavaScript is just a notoriously difficult language to debug to begin with. Why do you think there's such a huge push to move to TypeScript and WASM?
You might hear of terms such as pass-by-value and pass-by-reference. C is 100% pass-by-value, which is why pointers are so necessary. JavaScript, on the other hand, is pass-by-sharing. Which is essentially what I described above wherein you have primitive types that are passed by-value (copied) and non-primitive values that are passed by-reference (mirrored). Pass-by-sharing is pretty common in managed languages. Though most languages tend to give you more explicit control over references, so in C# for example, you _can_ make a reference to an int. You can even use pointers in C#, though they're disabled by default and are locked behind the `unsafe` keyword (meaning you have to declare within an unsafe{...} scope and turn on a specific compiler switch if you want to use pointers at all). Every language is different and it's good to look into those things and test the basic mechanics to make sure they work as you think they do. It's worth having that deeper understanding.
You’ve successfully reminded me that there’s a language in my past which I hate more than Groovy. That Painful Horrible Preprocessor
Sounds like you should let go of your hate for the language and understand that the hate is actually towards shitty code.
I could even sense the boredom and slight depressive tone when he said, "PHP is a fun language".
I don't know my dude it kinda reminds me of a board with a nail sticking out on a walk path. Overwhelming feeling to get rid of it knowing that's gonna hurt if I step on it.
Same functionality but PHP really make people want to use it more than C pointer
Ah! The sheer chaos of implicit/automatic variable templating.
Some men just want to see the world burn.
This is cursed syntax why would you want to write obscure code like this
It really gets fun when you use variable variable names to create variables. Have an empty string, use that as a variable name and you've got an "unnamed" variable.
Thankfully no one does that. I've never seen variable names in practice anyway.
Well I have seen it in typos lmao
This video's intro and extro are the same, in a way you never thought could be possible!
Declare variable with $ is also used in Powershell I think 😂
yea that totally wont be completely confusing in devevelopment
This is not one of the reasons php is fun, its one for the reasons people are able to write horrendous php code
Genuinely almost all programming languages have a way of doing this.
So what you're saying is that all programming languages suck, because the programmer can write garbage code.
@@xIcarus227 In PHP it's $$ instead of $. In every other programming language, "there's a way of doing it". Do you see the difference here?
@@antifa_communist wdym by saying $$?
I love PHP. I literally don't understand why people "bash" on it so much.
old grummer words passing to new generation from 2000, it has been an inside joke but people tend to be innocent with their lack of infomations...
PHP sucks, and It still be taken a place inside me.
This won't cause any major and incredibly prevalent database vulnerabilities, right?
... right?
Just came here to compliment the visually aesthetic and proportionally scaled window on the video.
Me internally: *AGHHHHHGHGGGGGGHHH*
The moment the second dollar came in, ptsd from void pointers and pointers kicked in.
A CPP programmer: I need bleach for my 👀
You have somehow found a way to make me appreciate the way pointers work in cpp.
Referencing in PHP is always different being the kernel written in C++
Same goes for V8 though 😅
This isn't referencing though, this is just calling a variable based on a variable's value.
PHP has a reference operator not very dissimilar to C's.
Did this give anyone else mad anxiety?
Me. And I'm not even a programmer. Well, I know a bit of C and Python.
Yes
This reminds me of the gud old days learning C when starting my uni :/
Renaming variables must be fun in PHP.
Very fun indeed... PHP Pointer
So for anyone curious these are called variable variables. This is usually an extreme edge case and you generally do not need to use these for almost anything. Please do not confuse these with pointers as they are not pointers.
As a Java dev: I hate this with a burning passion 💀
that just screams vulnerability
To be fair things like JNDI (Log4Shell ahem) also scream vulnerability.
I decided to use PHP for a few personal projects because it's easy to find hosting.
I had forgotten how delightful the language actually is.
You will most likely never run into such a problem if you stick to good structured programming and good practices. This is just anecdotal, I have never found it to be a problem.
@@Meister256 Yeah, I find that most of the problems with PHP are the bad code people write.
*To infinity and beyond*
- Buzz
PHP is a syntactical nightmare
Me: oops i added two $ by an accident
This one hacker:
But the problem is when apply for job, no one select the resume which includes Php
php pointer 💀💀
glad i never had to learn that language
in php you can actually pass an object by reference like in c++ by using "&" in the function parameter
That's not a pointer.
You think it's a pointer exactly because you never learned the language.
@@xIcarus227 sure, it works like a pointer, what is it then?
@@king_james_official it's called a variable variable, some other languages have ways of doing this as well.
I can see the overlap with a pointer, but since you're not storing a memory address it isn't one, and you don't get all the functionality of a pointer as a result.
Personally I can't even think of a use case where you'd want to use this.
In php objects are passed by reference by default. No need for &.
Tell me you wanted pointers but didnt wanna copy C without telling me you wanted pointers but didnt wanna copy C
I didn't know you can do this more than once but the ability to reference anything in php is what I'm missing in a lot of languages. Php can parse itself, it's marvellous. You can have a piece of code that says "if I am inside a method then print the first 3 lines off my class code, whatever they are"...marvellous
I was fighting for my life in a php login form
In all my years of php I did not know you could do that wth
10+ years here and I learned it last month, I'm with you on that
probably shouldn’t though seems like a bad way to code and could get confusing very very quickly
@@abso1utezer010 not really..
What I find interesting is that you can do this with a member access like `$foo->$bar` which is just like `foo[bar]` in JavaScript
"I have no personality so I'll just assume one by claiming PHP sucks having never actually used it"
Exactly.
I've used it and it does indeed suck
@@lukeet331 ... he said without any argument at all.
@@CottonInDerTube since this is not a debate, I don't find it weird they didn't bring up an argument..
If you want one, you can just ask
@@georgplaz YOu know ppl in RL who you always have to ask?
Annoying AF.
Same like "you know what happen ..."
or "whats the matter?" "nothing" -.-
Just say it ffs :D
---
Saying something without really telling something is useless.
=)
"this can continue on to infinity"
bro the variable's name is buzz, you missed your chance to make a "To infinity and beyond!" joke there lol
Never use this. Never. Especially in commercial software.
Almost a perfect loop
I'm trying to be like the cool kids these days
@@aschmelyun hi mate, how did you get that instant result? are you using some kind of a live server ? cheers!
fun fact, when you recieve requests to php, you can not have some charcaters in it, for example . because of a feature that was depricated 10 years ago... and you access it using a string.
Make more videos❤️
Will do!
btw in python you can do eval(bar)
This is just one of the reasons you should never use PHP 👍
Any argument ?
@@magrigrigri just imagine that you type two "$" by mistake that would be so hard to debug
@@aboshxm2416 5 years of PHP, never typed $ by mistake while accessing an object property. Btw any decent IDE will highlight dynamic property access with a specific color.
@@aboshxm2416 like I've been working with PHP for 8 years and I've never accidentally double $$-ed. Any IDE also highlights this occurrence differently than normal variables.
This is such a dumb argument that I'm doubting that you're even a programmer.
@@xIcarus227 your input is invalid because PHP programmers are not real programmers 😋
Introducing security vulnerability 101
PHP has a special place in my Heart 😌
And in hell, too
@@ScorpioHR The Good thing about PHP is that you can refer to JavaScript code
@@ScorpioHR like PHP is a more than decent language nowadays, it's time to stop being ignorants judging languages by what they were 2 decades ago.
@@GurkenDieb4444 Ok so the devs do have a little bit of sympathy
@@xIcarus227 I'm using it right now and it's terrible. In fact, I didn't know people thought it was terrible until I found out myself.
this seems like nightmare.
multiple layered dollar sign, and then trying to find which one is which
Love this language 😃❤️
When you have a bug and call it a feature
This is actually a really bad thing and has been a known issue in PHP for a very long time.
Why is it a problem?
@@ferial4091 Cross site scripting. SQL injections. Terrible memory management.
Listen to this, try to avoid this in production code lol
@@AJD... what the fuck are you even talking about? Man I swear, some of you people are just throwing words around without having a clue about what they mean.
How does calling a variable from a string value cause any of the vulnerabilities you just mentioned?
@@AJD... Injection, CSRF, XSS etc vulnerabilities come from your code, not language-related problems.
The cut makes it even funnier
lmao even worse than js
That's a pretty hard thing to do!
Event wores then breinfuuk
even class names and object attributes are dynamic in php
$someObject = new $someClass();
echo $someObject->$someAttribute;
"so we have a pointer to another pointer to another pointer to yet again another pointer."
I think it would have been nice to know a case or two where that capability would be useful.
Well this feature is going to be deprecated in next PHP version :)
Fun Fact: This also works in Batch scripts! Although you can only do it once.
Example:
@echo off
rem We use @echo off to hide the commands being executed.
setlocal EnableDelayedExpansion
rem This is important for this to work.
:set variables
set foo=Hello, world
set bar=foo
:output
echo !%bar%!
Oh, I remember learning Java freshman year and wanting the ability to run many different variables through a method. I forgot the context cuz I stopped coding for a while, but I'd have loved this then.
Nowadays as someone who knows graph theory, I think there are probably better ways to do stuff :P but this would've been nice when i was dumb
Is this a tutorial on how to always get a side project/job? Good idea. Lol
To be fair, I have never seen anyone use variable variables (this feature) in PHP.
making over 100k rev per year using php is indeed fun, highly recommend
I never find dynamically typed language to be fun specially in production
a reason why php doesnt seem to make sense, as there is no obvious indication for that it is contained will be a reference to a variable with the string, so leading to unexpected behavior
this is equal to adding a million divs. "Get the feeling of pain- i mean HTML in PHP"
"Debuggers nightmare 101" or pointer-ception 😂 But it’s fun to play around with.
Interesting. PHP is still as fun as hangnails.
its not a sad bug, it's a fun feature.
Almost every language is someway is a fun language
At first it kinda sounded like you were talking about bash but with some crack
So you're telling me Buzz can go to infinity and beyond?
Haaaa. I used to program PHP 20 years ago. I didn’t know this, but did probably stupid stuff like this to force certain data types from user input:
$n = $_POST[‘input’] + 0
(I don’t remember exact syntax any more.)
Talk about baking in hidden bugs in this fun language
I don't know what I like more, this, or PHP's amazing concurrency model
What concurrency mo...?, Oh, I got it... XD
It seems like now that there is v8.0, v8.1 and soon 8.2 and it implements some stuff out of othe languages it becomes popular again. Love that language to bits. Was my first i learned at 14 years