使用相同的参数时,explode 是否等同于 implode?
Is explode equivalent to implode when using the same parameter?
假设我有以下功能:
public function normalize($string) {
$substrings = explode(",", $string);
return implode(",", $substrings);
}
($string == normalize($string))
会永远是真的吗?有没有我应该考虑的特殊情况?
如果 $string 是一个字符串,是的。
否则可能会发生类型转换:
implode(",", explode(",", 0))
这将导致“0”,因此 $string !== normalize($string)
但 $string == normalize($string)
仍然成立。
假设我有以下功能:
public function normalize($string) {
$substrings = explode(",", $string);
return implode(",", $substrings);
}
($string == normalize($string))
会永远是真的吗?有没有我应该考虑的特殊情况?
如果 $string 是一个字符串,是的。
否则可能会发生类型转换:
implode(",", explode(",", 0))
这将导致“0”,因此 $string !== normalize($string)
但 $string == normalize($string)
仍然成立。