gpt4 book ai didi

PHP explode 字符串与数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:10 24 4
gpt4 key购买 nike

是否有理由在需要数组的地方使用字符串?

我有一个开发人员想要传递一个分隔的字符串,在数据库类方法中分解它以从 2 个单独的字符串中提取多个字段/值对。我想不出不发送字符串数组的理由。

例子:

$s = "value1|value2|value3" ;
$s2 = explode("|", $s);

与数组

$s3 = array(
"1" => "value1",
"2" => "value2",
);

我知道这个想法是实际传递未知数量的键/值对,但我不认为你展开的字符串是答案。但我可能是错的。

最佳答案

I can't think of a reason to not send in string arrays.

一个字符串是一个单一的实体。您的同事使用字符串“object”(变量或实体意义上的对象)来使其携带信息,这是域特定语言的一种非常小的形式。

但正如它已经显示的那样,这只是开销,不是必需的。可能那个人只是懒得打字,认为打字更酷。实际上更酷的是,只需升级 PHP 并使用新的数组表示法。它也很短,它比需要先解析器(这里用分隔符展开)的字符串包含更多信息:

explode("|", "value1|value2|value3");

array("value1", "value2", "value3");

["value1", "value2", "value3"];

如果你想知道你的同事有多认真:他在玩。玩游戏没问题,但如果他需要玩强力游戏来表明他可以将其作为一种风格压制到共享代码库中,那就打他的手指吧。那是愚蠢的。如果您需要一个数组,请传递一个数组。

这不像是正则表达式。这只是你的同事在代码库中引入问题的一些自嘲。仅仅因为某些事情是可能的并不意味着它更好。

I can't think of a reason to not send in string arrays.

嗯,我能想到的一些可能的原因:

  • 其他人只是想表明他们知道的与您不同并且有能力说服项目中的其他人(社会问题)
  • 你不能接受你在团队中的地位太低,你甚至无法提出合理的论据来说服其他人,你跑来这里提示,因为你希望你能找到更多的力量而不是升级响应@你的团队(社会问题)
  • 那家伙就是个 SCSS ,想引入 secret 的复杂性,这样只有他才能编辑和更改代码(职业管理,也可能是社会问题的标志)。

请不要太认真地对待这些评论 ;) 你可以问,但没有太多答案,因为这闻起来有鱼腥味,因为可能有理由认为这样的东西有用(尽管我怀疑,因为有了一些小的 OOP,这里的东西开始看起来真的不一样了)。所以它总是取决于,但尽量让你编辑的代码易于编辑,不要添加太多魔法。可以将该字符串视为一个魔法数组。

关于PHP explode 字符串与数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com