- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否有理由在需要数组的地方使用字符串?
我有一个开发人员想要传递一个分隔的字符串,在数据库类方法中分解它以从 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.
嗯,我能想到的一些可能的原因:
请不要太认真地对待这些评论 ;) 你可以问,但没有太多答案,因为这闻起来有鱼腥味,因为可能有理由认为这样的东西有用(尽管我怀疑,因为有了一些小的 OOP,这里的东西开始看起来真的不一样了)。所以它总是取决于,但尽量让你编辑的代码易于编辑,不要添加太多魔法。可以将该字符串视为一个魔法数组。
关于PHP explode 字符串与数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936471/
一个很简单的问题。我有一个要在 JBoss 上运行的 .war(~40MB) 文件。部署的最佳实践是什么:war 文件应该以分解格式部署吗?还是不行? 我问是因为如果它爆炸了,那么我可以选择随时更新我
转到 http://hartford.uconn.edu/scholarships/单击任何名称,然后单击“关闭”按钮,这将显示在“展开”时字体从默认的“Trebuchet MS/Trebuchet”
我正在将Json数据插入Hive。这是格式- A1 Array > dim2 array >
我正在制作一个可以在本地服务器上运行的 java 程序。 服务器使用 PHP 从客户端接收请求。 现在我在本地服务器上有文件“temp.txt”。 Java 程序应该逐行打开文件,每行都应该用
Crashlytics 报告了多次崩溃并显示以下消息: function signature specialization 这个异常首先意味着什么? 这是我的代码,在闭包内的“return resu
array ( [0] => 3 / 4 Bananas [1] => 1 / 7 Apples [2] => 3 / 3 Kiwis ) 可以说,遍历此列表,并
我正在优化我的网站。在本地测试了页面,一切正常。当我上传它并实时访问它时,它会突然抛出一个解析错误……但它在本地完美运行,就像我说的那样。 Parse error: syntax error, un
这个问题在这里已经有了答案: How to split a string by multiple delimiters in PHP? (4 个回答) 关闭 8 个月前。 我有一个问题,我有一个字符串
我希望能够在 explode 后得到剩余的字符串。 $string = "First Middle Last"; $d = explode(" ", $string); print_r($d); Ou
我正在尝试从字符串中获取一个简单的数组。 Ej。 [位置] => ???? [标题] => ??? [音调] => ??? [缩放] => ??? 但由于某种原因,我收到以下错误: Notice: U
如何在分隔符“[”之间分解字符串,但我希望分隔符不会丢失 例如,我有这样的字符串 $str = "i want to show you my youtube channel : [youtube id
请帮我解决这个 explode() 函数问题。对于第三种情况,我得到了意想不到的结果,解释是什么? 编辑: $page_string 值实际上来自数据库。这次我使用 var_dump 而不是 echo
我正在制作一个电子商务网站。我在测试时遇到了以下问题: 从管理面板更新订单状态(处理中、发货、已完成和已取消)不适用于 1 种产品。 当从数据库中检索值时,Explode 会删除最后一个字符。 如果订
好吧,首先,如果之前有人问过这个问题,我很抱歉,我在过去的 12 个小时里筛选了数百个论坛主题,但还没有找到能准确回答这个问题的主题,所以这里开始吧。 我有一个我构建的页面,它有一个用户列表,当用户登
我有一个表,其中有一个包含以下记录的字段: 1,2,3,4,5,6 我想请教以下两件事: 1)如何在另一个表中创建外键?规则是:对于字段“field_name”中以逗号分隔的任何值,必须是 other
我只是对如何分解字符串以单独插入数据库感到困惑。 我的代码: $mymotives = "Entrega de Documentos, Orientacion, Username y Password
我们有这个字符串:“Il Responsabile della Sicurezza nelle gallerie – 1° PARTE”,我们想要得到它的两个部分: Il Responsabile d
我有一个函数 symbol_scan(integer) 返回一个包含三列的表:schema, table, count。 我可以像这样对其执行选择查询: > SELECT name, symbol_s
嗨,实际上,当我执行代码时,我得到一个输出,它将被吐出在 echo 语句中,但如果我将 echo 放入文本区域,我只能从数据库中获取字符串的最后一个值 $sql = mysqli_query(
我正在尝试构建一个 PHP 代码来检测类似 Twitter 的提及,但我不是链接到 @username,而是定位用户的 ID 并引用它。 function get_user_id_from_usern
我是一名优秀的程序员,十分优秀!