PHP爆炸并设置为空字符串丢失的部分

Mar*_*aio 7 php explode

什么是实现以下目标的最佳方法.

我有这种格式的字符串:

$s1 = "name1|type1"; //(pipe is the separator)
$s2 = "name2|type2";
$s3 = "name3"; //(in some of them type can be missing)
Run Code Online (Sandbox Code Playgroud)

我们假设nameN/ typeN是字符串,它们不能包含管道.

由于我需要逐步提取名称/类型,我这样做:

$temp = explode('|', $s1);
$name = $temp[0];
$type = ( isset($temp[1]) ? $temp[1] : '' );
Run Code Online (Sandbox Code Playgroud)

是否有更简单(更智能更快)的方式来做到这一点,而不必做isset($temp[1])count($temp).

谢谢!

Fla*_*tef 8

list($name, $type) = explode('|', s1.'|');
Run Code Online (Sandbox Code Playgroud)