我正在阅读这本PHP和MySQL书籍,我遇到了一些与我习惯的完全不同的东西,当涉及到回显一个单引号字符串的多行时.
给出的例子是这样的:
echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">
<tr>
<td align="left"><b>This</b></td>
<td align="left"><b>That</b></td>
<td align="left"><b>Then</b></td>
<td align="left"><b>When</b></td>
<td align="left"><b>What</b></td>
</tr>';
Run Code Online (Sandbox Code Playgroud)
显然我可以打破PHP并使用HTML,但这并不总是一种选择.当我没有这个选项时,我通常会分解我的字符串以便更容易阅读:
echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">' .
'<tr>'
'<td align="left"><b>This</b></td>' .
'<td align="left"><b>That</b></td>' .
'<td align="left"><b>Then</b></td>' .
'<td align="left"><b>When</b></td>' .
'<td align="left"><b>What</b></td>' .
'</tr>';
Run Code Online (Sandbox Code Playgroud)
这本书的作者在php社区中受到了很好的尊重,这本书得到了高度推荐,并得到了很好的评价......所以我的问题是这样的:
他的方法有什么问题,应该实践吗?
我确信我这样做有各种各样的错误,但我有以下函数在控制台中返回'undefined',即使它可以在函数中的相同位置console.log()所需的值,如代码中所述.
var tags = [4, 5];
console.log(getTagNames(tags)); // 'undefined'
function getTagNames(tagArray) {
$.getJSON('js/tags.json', function(data) {
for (var i in tagArray) {
tagArray[i] = tagArray[i].toString();
var val = tagArray[i];
for (var t in data) {
var tag = data[t];
var tagName = tag.alias;
var tagId = tag.id;
if (val === tagId) {
tagArray[i] = tagName;
}
};
}
console.log(tagArray); // output ["foo", "bar"]
return tagArray;
});
}
Run Code Online (Sandbox Code Playgroud)
另一个奇怪的事情是,在浏览器中运行此代码后,我可以在浏览器控制台中输入"tags",它会给我正确的结果["foo", "bar"].但是,当我尝试使用tags变量(即:元素的文本值等)时,它不起作用......是什么给出的?JavaScript不是我的第一语言,所以我对它的行为方式有点困惑.我只是不明白.
我已经阅读了几乎所有"可能已经有我的答案的问题",但答案提供了那些我无法弄清楚如何应用于我的功能.
注意: