如何“转义”PHP参数值中的逗号,使其不会将它们分隔为多个参数

如何“转义”PHP参数值中的逗号,使其不会将它们分隔为多个参数,php,Php,我有一个像这样的PHP方法,它接受参数并构建一个单选按钮组 protected function radio($jsfunction='') { $radioElements = func_get_args(); ... } 我想用两个参数建立一个简单的无线电组。不幸的是,组中的一个元素包括逗号,它似乎被解释为附加参数。例如: radio("confirmSelection(this)","Option1","Option2,3,4") 这将在上面的radioElement

我有一个像这样的PHP方法,它接受参数并构建一个单选按钮组

protected function radio($jsfunction='') {
    $radioElements = func_get_args();
    ...
}
我想用两个参数建立一个简单的无线电组。不幸的是,组中的一个元素包括逗号,它似乎被解释为附加参数。例如:

 radio("confirmSelection(this)","Option1","Option2,3,4")

这将在上面的radioElements数组中创建4个条目。是否有某种方法可以在预期的第二个参数中转义逗号,以便它将选项2、3、4解释为一个参数而不是3?

我无法重现:

function foo ($js = '') {
    var_dump(func_get_args());
}

foo('a', 'b', 'c,d,e');

array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(5) "c,d,e"
}
从func_get_args返回的3个参数和3个数组项


你必须准确地显示你正在做什么来将c、d、e的东西分开。

如果你运行var_dump$radioElements;在上面的代码中,您将只得到一个包含3项的数组。你能不能再看一下你的密码,解释一下问题所在?也许是在实际创建radioElement条目的代码中。嗨,山姆,谢谢你研究这个。没错,它实际上是代码中其他地方的正则表达式,负责以这种方式解析参数。我应该自己删除这个问题吗?我会的,只是不想做任何有损我声誉/地位的事。删除一个问题不会损害你的声誉,你将失去从这个问题中获得的任何声誉。通常情况下,正确的方案是在此时用新发现的问题更新问题,我们将重新打开问题,如果您解决了正则表达式问题,您甚至可以回答自己的问题。但是,到目前为止,由于有一个带有投票权的答案和一个被接受的答案,您不能删除您的问题。别担心,我不相信你会因为一个问题被搁置而受到惩罚……至少如果它不是永久性的问题: