以下是我的代码;我没有问到它有什么问题;
$units=explode(";",$course->unitinfo);
foreach($units as $unit)
{
$unitinfo=explode("|",$unit);
echo'<tr>
<td>'.$unitinfo[1].'</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>';
}
此处字符串 $ course-&gt; unitinfo 附带两个分隔符 first is; 并包含一行信息,第二个分隔符为 | 管标;第一次爆炸工作正常;第二次爆炸产生带有未定义偏移的错误,如果用print_r打印则显示 -
Array
(
[0] => 1
[1] => Mechanics
[2] => 5
[3] => 1,2
[4] => 3,1
)
并且问题是无法通过索引访问 - $ unitinfo [1]; 哪里我错了
答案 0 :(得分:1)
您需要检查|
是否出现以避免脚本中出现“未定义的偏移量”警告:
$testString = 'test|1;test|2;test3';
$units=explode(";",$testString);
foreach($units as $unit)
{
$value = '';
if (strpos($unit, '|') !== false) {
$unitinfo=explode("|",$unit);
$value = $unitinfo[1];
} else {
$value='No pipe found';
}
echo'<tr>
<td>'.$value.'</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>';
}
将显示:
1 2 No pipe found