我不明白为什么我在 php 数组到字符串的转换中收到此错误


I dont understand why im getting this error in php Array to string conversion

这是怎么回事,我想做一个多语言网站 数组到字符串的转换错误:注意:数组到字符串的转换在 C:''wamp''www''选择语言''语言.php在第 12 行

<form action="language_switcher.php" method="post">
<select name="lang">
    <option value="en"<?php if( $_COOKIE["language"] == "en" ) { echo " selected"; } ?>>English</option>
    <option value="fr"<?php if( $_COOKIE["language"] == "fr" ) { echo " selected"; } ?>>Français</option>
    <option value="de"<?php if( $_COOKIE["language"] == "de" ) { echo " selected"; } ?>>Deutsch</option>
    <option value="it"<?php if( $_COOKIE["language"] == "it" ) { echo " selected"; } ?>>Italiano</option>
</select>
<input type="submit" value="Select Language">
</form>
<p>Language: <?php if( isset( $_COOKIE['language'] ) ) { echo $_COOKIE['language']; } else { echo "<em>not set</em>"; } ?></p>

很可能是你的

$_COOKIE["language"]

不是像"en"这样的字符串,而是像array($code=>"en",$name=>"English"这样的数组)。 您需要先检查该值。回应它,print_r它或var_dump它。

<?php var_dump($_COOKIE["language"]); ?> 

到页面顶部或任何位置。