数组下不能使用连接符"."?

2018-04-24 17:42:19 +08:00
 mengzc
echo "<".$row_user_server_ip['server_name'].">";
这种情况下最后一个.会导致数组变量失效,如何处理?
3704 次点击
所在节点    PHP
16 条回复
mengzc
2018-04-24 18:06:47 +08:00
<和>同时存在会导致数组变量无法正确输出。
jfcherng
2018-04-24 18:09:33 +08:00
你這是被瀏覽器認為是 HTML Tag 了吧
master
2018-04-24 18:11:40 +08:00
R18
2018-04-24 18:41:07 +08:00
我觉得吧是 $row_user_server_ip['server_name'] 为空,或为非字符串类型转化的过程中被转化成空?
wkan
2018-04-24 18:45:24 +08:00
被当成 html 标签了
chenxytw
2018-04-24 19:41:50 +08:00
数组变量失效是什么?
Junjunya
2018-04-24 21:40:20 +08:00
@jfcherng @wkan 楼上说的被识别成标签是什么鬼…… PHP 语言怎么会直接出现在浏览器端???

在 PHP 中 这种写法完全正常,没有被识别成标签这一说,很大可能是本来他这个变量就有问题。
我的测试结果和 3 楼一样 这样写完全没有问题。
jfcherng
2018-04-24 22:25:31 +08:00
@Junjunya 那請你解釋一下為何還必須 "<和>同时存在会导致数组变量无法正确输出。" ?
jfcherng
2018-04-24 22:26:30 +08:00
而且這個節點只能發 PHP-CLI 的問題麼?我覺得我的猜測十分合理。
zgx030030
2018-04-24 23:11:32 +08:00
其实就是被浏览器当成一个节点标签了,语法本身并没错,你可以右键看看源代码。
Junjunya
2018-04-24 23:14:13 +08:00
@jfcherng 突然反应过来了…… 确实很可能是被当成浏览器标签了 ,我的锅
GooMS
2018-04-24 23:51:12 +08:00
楼主不要拼字符串了,找黑啊
bitlaoyuan
2018-04-25 09:22:27 +08:00
日常黑。

我写了 10 年 PHP 了,一直这么写都没出过错。
moonsola
2018-04-25 10:28:36 +08:00
echo "&lt;".$row_user_server_ip['server_name']."&gt;";
mengzc
2018-05-11 23:38:41 +08:00
@bitlaoyuan 可是我测试确实是失效了。
mengzc
2018-05-12 00:00:42 +08:00
完整代码:
foreach ($user_server_ip as $key => $value) {
$sqlserver = "SELECT `server_name`,`server_ip` FROM server WHERE `id` = ".$value.";";
$results_user_server_ip = mysql_query($sqlserver);
while ($row_user_server_ip = mysql_fetch_array($results_user_server_ip))
{
echo "[".$row_user_server_ip['server_name']."]";
echo $row_user_server_ip['server_ip'];

echo "<br>";
}
}

第 6 行 原来的是:echo "<".$row_user_server_ip['server_name'].">"; 为了对输出的值外左右加一个<>,结果测试有问题。所以换成了[ ]后正常。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/449506

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX