richangfan
V2EX  ›  编程

PHP 太坑了,一直走下坡路不是没有原因的

  •  
  •   richangfan · Sep 4, 2023 · 6702 views
    This topic created in 1159 days ago, the information mentioned may be changed or developed.
    echo strlen('\r\n'); //输出 4
    echo strlen("\r\n"); //输出 2
    

    就因为上面的区别,导致生成的邮件一直发不出去

    75 replies  •  2023-09-06 13:40:17 +08:00
    anteros
    anteros
    Sep 4, 2023❤️1
    1
    地球有时候确实没引力,能够理解的。
    garlics
    garlics
    Sep 4, 2023❤️8
    2
    双引号里面内容转义,单引号里面内容不转义,这个基础的语法你都不知道吗?
    hahasong
    hahasong
    Sep 4, 2023❤️31
    3
    怡笑大方,用 PHP 的半吊子太多了能不走下坡路吗
    OceanBreeze
    OceanBreeze
    Sep 4, 2023❤️6
    4
    典型的拉不出屎怪茅坑。
    InDom
    InDom
    Sep 4, 2023
    5
    确实,怪不得觉得太坑了。
    brader
    brader
    Sep 4, 2023❤️1
    6
    敢问楼主用的是 PHPSTORM 吗?是的话我相信你应该看到了这两个写法很明显的高亮颜色区别,单引号的时候,\都解析为字符串了,编辑器也是用的黄色高亮。双引号的时候,\r 是整体的,编辑器都高亮别的颜色了,和其他字符串都很明显的区别
    demoshengxw
    demoshengxw
    Sep 4, 2023
    7
    那你需要先了解下单引号和双引号的区别。在你的代码中双引号包裹的最终对应的一个换行符序列,单引号包裹就完全当成字符串。
    mrgeneral
    mrgeneral
    Sep 4, 2023❤️4
    8
    本山:怎么你到哪儿,哪都大环境不好,你是破坏大环境的人啊?
    sarices
    sarices
    Sep 4, 2023❤️1
    9
    哈,今天最大的笑话,出现问题应该找下原因,知道原因了你就不会发帖了。
    ldx78203199
    ldx78203199
    Sep 4, 2023❤️1
    10
    这跟语言啥关系。。虽然我是搞 java 的 但是这个明显是自己问题,计算机世界 别说 2 个引号不同,你多个空格都可能是巨大的变化
    richangfan
    richangfan
    OP
    Sep 4, 2023
    11
    @garlics
    要求程序输入什么就输出什么,不做多余的事很过分吗?
    下面 Golang 的代码就老老实实输出 2
    ```
    fmt.Println(len("\r\n"))
    ```
    fkdtz
    fkdtz
    Sep 4, 2023❤️4
    12
    哈哈哈哈,没想到楼主又是你,你这一天可太欢乐了。
    参考楼主之前的帖子:“吃铜炉火锅被烫,所以建议不要吃铜炉火锅。”
    哈哈哈哈,我感觉楼主你把论坛玩明白了。
    😋 😋 😋
    QlanQ
    QlanQ
    Sep 4, 2023
    13
    哎,你是专门来黑 PHP 的吧
    ochatokori
    ochatokori
    Sep 4, 2023 via Android
    14
    朋友,来写 nodejs 吧,就没有这个问题了🐶
    slowman
    slowman
    Sep 4, 2023❤️3
    15
    楼主似乎在探索一种新型的吸引眼球的发帖方法
    弱智+反转+装傻

    屡试不爽,人类真是脆弱,遇到这种帖子就忍不住点进来骂一句 SB
    cin
    cin
    Sep 4, 2023❤️9
    16
    #11 @richangfan 那你觉得下面这两输出一样吗

    ```
    fmt.Println(len("\r\n"))
    fmt.Println(len(`\r\n`))
    ```
    Rache1
    Rache1
    Sep 4, 2023
    17
    要是说这个在 PHP 文档藏得深的话,也就不说你了,可是这个就在字符串章节的第一段



    PHP: String 字符串 - Manual
    https://www.php.net/manual/zh/language.types.string.php
    spicy777
    spicy777
    Sep 4, 2023❤️5
    18
    sheeta
    sheeta
    Sep 4, 2023
    19
    连单引号与双引号的区别都不知道,别跟别人说你是写 PHP 的
    wonderfulcxm
    wonderfulcxm
    Sep 4, 2023
    20
    自己基础不过关还怪语言,贻笑大方了,哈哈
    wonderfulcxm
    wonderfulcxm
    Sep 4, 2023❤️1
    21
    @fkdtz 难怪,原来是一天吃一顿,而且只吃铜炉火锅的那个。。。
    hefish
    hefish
    Sep 4, 2023
    22
    op 自己赶紧反思一下,毕竟 php 是世界上最好的语言。。。
    能把微服务搞好,就完美了。
    BGLL
    BGLL
    Sep 4, 2023
    23
    这个是 unix 的特性,很多语言也这样如 Perl, Dart
    dobelee
    dobelee
    Sep 4, 2023
    24
    你知道 php 为什么走下坡路?就是这样的半吊子太多了。
    sytnishizuiai
    sytnishizuiai
    Sep 4, 2023
    25
    大哥,换个语言黑行不行
    kakki
    kakki
    Sep 4, 2023 via Android
    26
    。。。我还以为你有什么 PL 方面的见解。
    InkAndBanner
    InkAndBanner
    Sep 4, 2023
    27
    已打钓鱼 tag ,感觉在刻意装蠢污染论坛
    2kCS5c0b0ITXE5k2
    2kCS5c0b0ITXE5k2
    Sep 4, 2023
    28
    来点 JS 笑话
    ```
    "foo" + +"bar"; // -> 'fooNaN'
    !!"false" == !!"true"; // -> true
    !!"false" === !!"true"; // -> true
    NaN === NaN; // -> false
    ```
    Felldeadbird
    Felldeadbird
    Sep 4, 2023
    29
    楼主闹笑话了。
    lincanbin
    lincanbin
    Sep 4, 2023
    30
    这种一种叫“raw string literal”的语法糖,除了 php ,其他语言也有。
    可能是类似``或者"""""",当然,在 php 下是用''
    wellerman
    wellerman
    Sep 4, 2023
    31
    这不不亚于之前在 V2 上看到的“时间戳分本地时间戳和国际时间戳”
    adoal
    adoal
    Sep 4, 2023
    32
    unix shell 也是这样的习惯
    vectorer123
    vectorer123
    Sep 4, 2023
    33
    我是楼主 我都没有自信再来 v2 了
    zhaokun
    zhaokun
    Sep 4, 2023
    34
    @richangfan 不让 go 写个单引号试试?
    BigShot404
    BigShot404
    Sep 4, 2023
    35
    楼主但凡你会百度,都不至于说出这个笑话
    Oceanhime
    Oceanhime
    Sep 4, 2023
    36
    引战行为,话说楼主是研究了两天怎么发邮件吗?
    guanhui07
    guanhui07
    Sep 4, 2023
    37
    自己基础不过关还怪语言,贻笑大方了
    Immortal
    Immortal
    Sep 4, 2023❤️1
    38
    根据大家评论翻了下 op 的历史发帖
    欢乐加倍
    jevonszmx
    jevonszmx
    Sep 5, 2023
    39
    单引号和双引号的使用是 php 最最最基础的一部分了
    haha512
    haha512
    Sep 5, 2023
    40
    php 全身都是可吐槽的槽点,OP 却偏偏避开了所有槽点(O(∩_∩)O~
    Dart
    Dart
    Sep 5, 2023
    41
    不知道为啥还用这个。不是用 PHP_EOL ?
    akira
    akira
    Sep 5, 2023❤️1
    42
    等下,字符串长度和 邮件发不出去有啥关系
    richangfan
    richangfan
    OP
    Sep 5, 2023
    43
    @Dart @akira
    Gmail 的 PHP SDK 没提供生成邮件的接口,要自己做,邮件里面的换行符跟 HTTP 一样是`\r\n`
    shench
    shench
    Sep 5, 2023
    44
    骂你都是抬举你
    Seanfuck
    Seanfuck
    Sep 5, 2023❤️1
    45
    以我研究,php 走下坡路主要是 laravel 和 composer 流行,使 php 简单易用的核心优势丧失导致。
    jonsmith
    jonsmith
    Sep 5, 2023
    46
    看标题想来吐槽下,看内容我竟无力吐槽。。。
    humbass
    humbass
    Sep 5, 2023 via Android
    47
    楼主说的也没错,没有 Laravel 续命,PHP 应该进棺材了。
    ryan961
    ryan961
    Sep 5, 2023
    48
    @Immortal #38 笑不活了~原谅我不厚道到笑了

    建议 op 下次提问前可以先问一遍 chatgpt ,省的再问出这种令人啼笑皆非的问题哈哈。但换句话来说,给大家逗乐子你是专业的,谢谢你今天带给我的乐子🐶
    zhuzhibin
    zhuzhibin
    Sep 5, 2023 via iPhone
    49
    快跑啊 php 要 G 啦 准备失业了
    killerv
    killerv
    Sep 5, 2023
    50
    你说 PHP 走下坡路是没问题的,但是你这个例子是在自爆……
    cooooler
    cooooler
    Sep 5, 2023
    51
    @Seanfuck 反了吧,laravel 和 composer 拯救了 php
    draguo
    draguo
    Sep 5, 2023
    52
    @Seanfuck 不是,还是因为小公司少了,以前大众创业万众创新的时候需求量很大。没有 composer 跟 laravel ,php 早不行了
    ztxcccc
    ztxcccc
    Sep 5, 2023
    53
    @cooooler 是 composer 和 symfony
    8355
    8355
    Sep 5, 2023
    54
    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
    dobelee
    dobelee
    Sep 5, 2023
    55
    @Immortal 看了铜锅和 SMTP 表示有被笑到。🤣
    AreYou0k
    AreYou0k
    Sep 5, 2023
    56
    别整天惦记你那个 PHP 了, 快来学前端, 月入 30K, 还不用区分单引号和双引号 .
    Leung818
    Leung818
    Sep 5, 2023
    57
    点进来之前:PHP 不会又出什么大坑吧?
    点进来之后:就这???(黑人问号脸)
    nothingistrue
    nothingistrue
    Sep 5, 2023
    58
    单引号不转移,双引号转移,这确实不是 BUG ,也确实是 Shell 、Perl 、Javascript 等的传统用法。但这种容易引起混淆的用法,不就是大坑吗。
    yunye
    yunye
    Sep 5, 2023
    59
    还以为两军阵前你有什么高论。。。。。。。。。
    ShundL
    ShundL
    Sep 5, 2023
    60
    单双引号的区别都不太清楚的 php 程序员在说 php 要走下坡路了,那真要走下坡路了,而且坡不小
    iyaozhen
    iyaozhen
    Sep 5, 2023
    61
    @richangfan 你是一点没认真学呀,那 go 的话 fmt.Println(len("\\r\\n")) 应该输出什么?
    zengzizhao
    zengzizhao
    Sep 5, 2023
    62
    OP 还是别用 PHP 了
    OP 在哪个公司的,说出来让大家也避避坑
    zhangchimr
    zhangchimr
    Sep 5, 2023 via iPhone
    63
    我一个门外汉都看笑了,单引号双引号是否一样,就取决于你的自以为是吗……
    julyclyde
    julyclyde
    Sep 5, 2023
    64
    不过,发邮件还需要自己去 SMTP 那边发送\r\n 吗?不是调个库就行了?
    Seanfuck
    Seanfuck
    Sep 5, 2023
    65
    @cooooler @draguo 确实创业公司喜欢用 laravel 这些,但是大都死了(而且死得还挺快的),留下的都是用老程序的,究竟是谁拯救了谁?
    makun123
    makun123
    Sep 5, 2023
    66
    今日摸鱼最佳笑话
    dz5362
    dz5362
    Sep 5, 2023
    67
    今日摸鱼最佳笑话+1
    jchnxu
    jchnxu
    Sep 5, 2023
    68
    我觉得楼主说的也没错。。尤其是跨语言的开发者,不看文档只求速效的话,是容易被坑
    maigebaoer
    maigebaoer
    Sep 5, 2023 via Android
    69
    单双引号问题,这是 PHP 入门常识吧
    ZXCDFGTYU
    ZXCDFGTYU
    Sep 5, 2023
    70
    @jchnxu 但是出了问题都不去百度搜一搜就站这跳脚骂街 php 搞拉不出怪地球引力那套这就确实是沾点啥了
    ZXCDFGTYU
    ZXCDFGTYU
    Sep 5, 2023
    71
    写代码这项工作对于你来说还是太高科技了,改行吧球球了
    encro
    encro
    Sep 5, 2023
    72
    这样賺铜币真快!!!
    2NUT
    2NUT
    Sep 5, 2023
    73
    这个不怪 php
    jchnxu
    jchnxu
    Sep 5, 2023
    74
    @ZXCDFGTYU 我感觉大概是急了,哈哈。。毕竟他还是自己找到了不是

    实话实说,我也有这样的时候,卡在小问题上着急了
    ZXCDFGTYU
    ZXCDFGTYU
    Sep 6, 2023
    75
    @jchnxu 这种着急的时候谁都有,但是沉下心来仔细分析抽丝剥茧查找问题就能发现原因并且解决问题,但是跟这货一样出来跳脚骂街丢人现眼... 唉,物种多样性吧这只能说是。有这个功夫去社区跳脚骂街,百度一下早都解决了,放那没味儿的屁纯就是这人
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1888 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 149ms · UTC 07:32 · PVG 15:32 · LAX 23:32 · JFK 02:32
    ♥ Do have faith in what you're doing.