You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP致命错误:Uncaught TypeError: Unsupported operand types: string + string 修复方法(非重复问题,与PHP版本相关)

修复PHP的TypeError: Unsupported operand types: string + string错误

这个错误的根源非常明确——你在PHP里误用了运算符:PHP中字符串拼接必须用.(点号),而+是专门用来做数值加法的。当你用+把两个字符串放在一起时,PHP会尝试把它们转换成数字,转换失败就会抛出你看到的这个类型错误。

具体修复步骤:

  1. 替换字符串拼接的+为.
    把所有像echo "<td>" + $leden[$i] + "</td>";的代码,改成用点号连接:echo "<td>" . $leden[$i] . "</td>";

  2. 修复循环边界问题
    你当前的循环条件是$i <= $countedmembers,但count($leden)返回的是3,数组的索引是从0到2(因为数组有3个元素)。当$i=3时,会访问不存在的数组元素,触发Undefined offset错误。所以要把条件改成$i < $countedmembers。

  3. 修复未闭合的HTML标签
    错误提示里的链接标签没闭合:echo "<a href='inlogpage.php'>Foutieve inlog, probeer het opnieuw./a>";,这里的/a>应该改成</a>。

  4. 优化SESSION判断逻辑
    直接判断$_SESSION['login']会导致用户未登录时触发Notice错误,所以先加isset($_SESSION['login'])做存在性校验。

修正后的完整代码:

<?php include("includes/header.php"); 
//Session 
$username = "Tennisser"; 
$password = "Tryhard"; 
if ($_POST['username'] == $username && $_POST['password'] == $password) { 
    session_start(); 
    $_SESSION['login'] = true; 
} 
//Foutieve inlog 
else { 
    echo "<a href='inlogpage.php'>Foutieve inlog, probeer het opnieuw.</a>"; 
} 
//Code voor login true 
if (isset($_SESSION['login']) && $_SESSION['login'] == true) { 
    $leden = array ('Tim', 'Jur', 'Alba'); 
    $beschikbaarheid = array (3/5, 7/10, 12/3); 
    $dagdelen = array ('Middag', 'Ochtend', 'Nacht'); 
    $countedmembers = count($leden); 
    echo "<table>"; // 补充缺失的table标签,否则tr/td无法正常渲染
    for ($i = 0; $i < $countedmembers ; $i++ ) { 
        echo "<tr>"; 
        echo "<td>" . $leden[$i] . "</td>"; 
        echo "<td>" . $beschikbaarheid[$i] . "</td>"; 
        echo "<td>" . $dagdelen[$i] . "</td>"; 
        echo "</tr>"; // 补充闭合的tr标签
    } 
    echo "</table>"; // 闭合table标签
} 
?>

内容的提问来源于stack exchange,提问作者Krisico Official

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:42:44