3

Assume the following string:

$string = 'entry1_entry2';

What I want to do is something like this:

list($entry1, $entry2) = explode('_', $string);

我现在的问题是是否有任何优雅的方法可以强制爆炸(或任何其他功能)至少获得 2 个数组项?您可以指定第三个参数以获得最多 2 个元素,但我想要一个最小值。如果会有这样的字符串:

$string = 'entry1';

第二行会给出 aNOTICE因为只有一个数组元素。最好的方法是不检查结果数组或字符串是否存在分隔符。

4

2 回答 2

10

你可能会使用array_pad

list($entry1, $entry2) = array_pad(explode('_', $string), 2, NULL);

array_pad

于 2013-04-30T11:09:38.537 回答
0

explode当您无法强制执行数据的完整性时,我建议存储内部多个变量只是不好的做法。

你不应该简单地使用

$entries = explode($string);

并避免所有不必要的并发症?

于 2013-04-30T11:11:37.490 回答