Puckdropper
It's a PHP thing. If you define the symbol, you can use it
Tue Sep 12, 2023 3:08am

elsewhere in your code. Kinda like a global, but not really a global. (And globals aren't. You have to explicitly tell your subroutine to use the global variable.)

You'd think, and even a function checking for existence would tell you it didn't exist, but nothing really seemed to work. Perhaps it was because I was looking for a semi-variable rather than a real variable. Imagine, programmers learn to use true and false then have to quit because true and false has the wrong degree of truthiness (wait, that's a word?) for their intentions.

  • Oh wow, that's a odd quirk to have. - Erik_, Mon Sep 11 2023 2:36pm
    I would have also assumed that not set = false. Is the 'define' sub yours or a PHP thing?
    • It's a PHP thing. If you define the symbol, you can use it- Puckdropper, Tue Sep 12 2023 3:08am
      • because == wasn't equal enough. I think I found why it was evaluating to true if it wasn't defined in one of the comments in the PHP Manual: https://www.php.net/manual/en/function.define.php Be aware that if "Notice"-level error reporting is turned off, then trying to use a constant as a variable... more
        • I think PHP has === too......... - Puckdropper, Fri Sep 15 2023 5:51am
          What really got me about the comment was everything before the comma: Be aware that if "Notice"-level error reporting is turned off, WHAT! The program behaves differently if a certain type of error reporting is enabled? I'd have never even thought about that as a possibility. The car pulls to... more
          • I didn't even catch that! - Erik_, Sat Sep 16 2023 10:17am
            That's crazy. It's like they took Perl's "use strict" and "use warnings" and combined them under just warnings for some reason.
"Forces act when not restrained" - Puckdropper