V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mengzc
V2EX  ›  PHP

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

  •  
  •   mengzc · 2018-04-24 17:42:19 +08:00 · 3549 次点击
    这是一个创建于 2184 天前的主题,其中的信息可能已经有所发展或是发生改变。
    echo "<".$row_user_server_ip['server_name'].">";
    这种情况下最后一个.会导致数组变量失效,如何处理?
    16 条回复    2018-05-12 00:00:42 +08:00
    mengzc
        1
    mengzc  
    OP
       2018-04-24 18:06:47 +08:00
    <和>同时存在会导致数组变量无法正确输出。
    jfcherng
        2
    jfcherng  
       2018-04-24 18:09:33 +08:00
    你這是被瀏覽器認為是 HTML Tag 了吧
    master
        3
    master  
       2018-04-24 18:11:40 +08:00
    R18
        4
    R18  
       2018-04-24 18:41:07 +08:00
    我觉得吧是 $row_user_server_ip['server_name'] 为空,或为非字符串类型转化的过程中被转化成空?
    wkan
        5
    wkan  
       2018-04-24 18:45:24 +08:00 via iPhone
    被当成 html 标签了
    chenxytw
        6
    chenxytw  
       2018-04-24 19:41:50 +08:00
    数组变量失效是什么?
    Junjunya
        7
    Junjunya  
       2018-04-24 21:40:20 +08:00
    @jfcherng @wkan 楼上说的被识别成标签是什么鬼…… PHP 语言怎么会直接出现在浏览器端???

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

    我写了 10 年 PHP 了,一直这么写都没出过错。
    moonsola
        14
    moonsola  
       2018-04-25 10:28:36 +08:00
    echo "&lt;".$row_user_server_ip['server_name']."&gt;";
    mengzc
        15
    mengzc  
    OP
       2018-05-11 23:38:41 +08:00
    @bitlaoyuan 可是我测试确实是失效了。
    mengzc
        16
    mengzc  
    OP
       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'].">"; 为了对输出的值外左右加一个<>,结果测试有问题。所以换成了[ ]后正常。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1349 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:30 · PVG 01:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.