我想将php数组转换为javascript数组。
当我尝试这段代码时:
<?php
//db data
$verbindung = new mysqli($host_name, $user_name , $password, $database);
if ($mysqli->error) {
die('Verbindung schlug fehl:');
}
$sql= "SELECT Name FROM Zutaten;";
$result = mysqli_query($verbindung, $sql);
$zutatName = array();
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$zutatName[] = $row['Name'];
}
print_r(array_values($zutatName));
?>
<script>
var zutatenArray = [<?php echo json_encode($zutatName); ?>];
</script>
我收到以下错误消息:“SyntaxError:expected expression,got';' var zutatenArray =;“
当我使用此代码时:
function trim_value(&$value)
{
$value = trim($value); // this removes whitespace and related characters from the beginning and end of the string
}
array_filter($_POST, 'trim_value');
然后有一个空的javascript数组。 我错过了什么?
最好的关注
答案 0 :(得分:1)
你的数组大括号是不必要的:
var zutatenArray = [<?php echo json_encode($zutatName); ?>];
^--------------------------------------^
因为json_encode()
已经添加了它们。鉴于您的错误消息显示zutatenArray = ;
,您发布的代码不会产生此错误。
即使json_encode()完全失败并返回布尔值false,生成的Javascript也会显示为
var zutatenArray = [];
这是完全合法的。