mengzc
V2EX  ›  PHP

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

  •  
  •   mengzc · Apr 24, 2018 · 4368 views
    This topic created in 3017 days ago, the information mentioned may be changed or developed.
    echo "<".$row_user_server_ip['server_name'].">";
    这种情况下最后一个.会导致数组变量失效,如何处理?
    16 replies    2018-05-12 00:00:42 +08:00
    mengzc
        1
    mengzc  
    OP
       Apr 24, 2018
    <和>同时存在会导致数组变量无法正确输出。
    jfcherng
        2
    jfcherng  
       Apr 24, 2018
    你這是被瀏覽器認為是 HTML Tag 了吧
    master
        3
    master  
       Apr 24, 2018
    R18
        4
    R18  
       Apr 24, 2018
    我觉得吧是 $row_user_server_ip['server_name'] 为空,或为非字符串类型转化的过程中被转化成空?
    wkan
        5
    wkan  
       Apr 24, 2018 via iPhone
    被当成 html 标签了
    chenxytw
        6
    chenxytw  
       Apr 24, 2018
    数组变量失效是什么?
    Junjunya
        7
    Junjunya  
       Apr 24, 2018
    @jfcherng @wkan 楼上说的被识别成标签是什么鬼…… PHP 语言怎么会直接出现在浏览器端???

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

    我写了 10 年 PHP 了,一直这么写都没出过错。
    moonsola
        14
    moonsola  
       Apr 25, 2018
    echo "&lt;".$row_user_server_ip['server_name']."&gt;";
    mengzc
        15
    mengzc  
    OP
       May 11, 2018
    @bitlaoyuan 可是我测试确实是失效了。
    mengzc
        16
    mengzc  
    OP
       May 12, 2018
    完整代码:
    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'].">"; 为了对输出的值外左右加一个<>,结果测试有问题。所以换成了[ ]后正常。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1005 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 22:13 · PVG 06:13 · LAX 15:13 · JFK 18:13
    ♥ Do have faith in what you're doing.