4
$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);
}

我的老师希望我改变 to 的这种用法,explode()同时str_split()保持相同的输出。我该怎么做呢?

4

2 回答 2

3

如果您使用 str_spilt,则不能使用分隔符。str_split 将字符串逐个字符拆分并存储到每个数组索引中。并且还使用 str_split() 我们可以指定字符串存储在数组索引中的限制。如果你只使用 split() 函数,你可以获得与explode() 相同的输出。

使用以下行代替爆炸。

$transArry = split(" ",$transData);
于 2010-03-09T05:18:21.197 回答
2

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

$transArry = str_split($transData, 10);
于 2010-03-09T05:18:31.570 回答