我正在开发一个小型网站,并在使用PHP <!DOCTYPE html>
<html>
<head>
<title>Things and Stuff | Source Files</title>
<!-- Style Sheets/Scripts/Misc Stuff -->
<link rel="stylesheet" type="text/css" href="css/main.css">
<link rel="stylesheet" type="text/css" href="css/gmod.css">
<link rel="stylesheet" type="text/css" href="css/alerts.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="scripts/cycle.js"></script>
</head>
<body>
<?php include('./utilities/header.php'); ?>
<!-- rest of the page from here down... -->
函数时包含标题。然而,在从包含引入的任何代码之前,页面上有这种奇怪的
以下是发生这种情况的网页代码
$json = '[
{
"titleOne": "Foo",
"textOne": "Bar",
"titleTwo": "Foo",
"textTwo": "Bar"
}
]';
$json = json_decode($json, true);
foreach ($json as $object) {
list($titleOne, $textOne, $titleTwo, $textTwo) = array_values($object);
}
编辑W / SOLUTION
感谢下面的帮助,我想通了。 为了解决这个问题,我在Notepad ++中打开了文件,将其设置为PHP,并在编码的顶部,选择了ANSI(发现那是= UTF-8没有物料清单)并且工作正常!
答案 0 :(得分:4)
您的标题文件包含一个字节顺序标记标题,文字编辑器无法清楚地看到它们,它们不会理解它们。
另一方面,编译器/解析器需要完整的ASCII,并且不了解BOM标记。
解决方案:使用十六进制编辑器或文本编辑器设置为ASCII或UTF8而不使用BOM编码来删除头文件的3个第一个字节,它将起作用。
以UTF8编码的文件截图,其中BOM显示3个第一个字符(使用frHed)
如果我删除它的3个第一个字节就可以了。
或者:使用Notepad ++打开并将编码更改为ASCII
,保存,瞧瞧。
答案 1 :(得分:1)
检查您的PHP文件编码。尝试使用没有繁荣的UTF8,并确保你的php在文件顶部没有空格。