$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()
,同时保持相同的输出。我该怎么做?
答案 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);