分割字符串时强制两个数组元素的优雅方法

时间:2013-04-30 11:06:00

标签: php arrays string

假设以下字符串:

$string = 'entry1_entry2';

我想做的是这样的事情:

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

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

$string = 'entry1';

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

2 个答案:

答案 0 :(得分:10)

您可以使用array_pad

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

请参阅array_pad

答案 1 :(得分:0)

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

你不应该只是使用

$entries = explode($string);

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