用str_split()替换explode()的使用

时间:2010-03-09 04:08:36

标签: php arrays explode

$transData = fgets($fp);
while (!feof ($fp))
{  
    $transArry = explode(" ", $transData);
    $first = $transArry[0];
    $last = $transArry[1];
    $Sub = $transArry[2];
    $Grade= $transArry[3]; 
    echo "<table width='400' ><colgroup span='1' width='35%' /><colgroup span='2' width='20%' /> <tr><td> ".$first."  ".$last." </td><td>   ".$Sub." </td><td> ".$Grade." </td></tr></table>";
    $transData = fgets($fp);
}

我的老师希望我将explode()的使用更改为str_split(),同时保持相同的输出。我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果使用str_spilt,则无法使用分隔符。 str_split按字符分割字符串并存储到每个数组索引中。并且还使用str_split(),我们可以指定要存储在数组索引中的字符串的限制。如果你只使用split()函数,你可以得到相同的输出,explode()做了什么。

而不是爆炸使用以下行。

$transArry = split(" ",$transData);

答案 1 :(得分:1)

两个explode()和str_split()之间的区别在于explode使用一个字符来拆分,而str_split需要字符数。因此,除非记录数据$ transData中的字段长度完全相同,否则这将需要额外的代码。如果所有字段/记录的长度相同,则可以直接删除该功能。因此,如果记录中的每个字段长度为10个字符,则可以执行以下操作:

$transArry = str_split($transData, 10);