【问题标题】:How do I use php file() to access an array and echo specific keys?如何使用 php file() 访问数组并回显特定键?
【发布时间】:2015-06-09 18:13:58
【问题描述】:

我有一个使用 GET 方法的表单标签。我想在 php 文件中搜索一个数组。我希望回显特定键的值。我得到了运行和访问数组的 php 代码,但数组的代码在同一页面上,我没有使用 file() 函数。当我尝试使用 file() 函数来回显表单的输入时,页面会在 php 代码中显示字符,例如引号和 =>。整个数组被回显,但不是我想要的键的特定值。我正在运行 Windows 8.1 并使用 IIS 作为 Web 服务器。这是我的代码,它在没有 file() 函数的情况下工作:

<?php
        //this is the function which takes in the GET request from the form name='cake'

        $cake = htmlspecialchars($_GET['cake']);
        $cake2 = strtoupper($cake);
        echo "<div id='cake'>$cake</div>";
        //use cake2 for the search process
        echo $cake2;
            $artists = array(
            'ED SHEERAN' => "<div class='Data'>This could display the search results</div>",
            'ELLIE GOULDING' => "<div class='Data'>This xxxxxxxxx result</div>" );
        foreach($artists as $key => $value) {
            if($cake2 == $key)
            echo $value;
        }
?>

上面的代码呼应了我想要的。最好我想对上面的数组使用一个单独的 php 文件,所以这是我的 file() 尝试代码:

        $cake = htmlspecialchars($_GET['cake']);
        $cake2 = strtoupper($cake);
        echo "<div id='cake'>$cake</div>";
        //use cake2 for the search process
        echo $cake2;       
        $dataReq = file("phpData.php", FILE_IGNORE_NEW_LINES);
        #echo $dataReq;
        foreach($dataReq as $key => $value){
            if ($key == $cake2) 
            echo $value;
        }

当我将任何内容提交到表单中时,它会被回显,但我无法像第一个示例中那样完全搜索 phpData 数组。如果我从 'echo $dataReq;' 中删除主题标签网页返回 'Array'、$artists、$keys 和 $values。这是 phpData 文件的样子:

<?php
    $artists = array(
    'ED SHEERAN' => "<div class='Data'>This could display the search result</div>",
    'ELLIE GOULDING' => "<div class='Data'>This xxxxxxxxx result</div>" );
?>

我的问题是如何使用 file() 函数在其数组中访问我想要的键并回显它?

-感谢您阅读这篇文章:D

【问题讨论】:

  • 您能说出您的phpData.php 文件中有哪些内容吗?
  • phpData.php文件的内容就是上面最后一段代码。

标签: php arrays forms key


【解决方案1】:

您应该包含 phpData.php 而不是使用“文件”,然后循环遍历艺术家数组。看看“file”和“include”之间的区别,你就会明白为什么需要包含:

http://php.net/manual/en/function.include.php

http://php.net/manual/en/function.file.php

您的代码如下所示:

    $cake = htmlspecialchars($_GET['cake']);
    $cake2 = strtoupper($cake);
    echo "<div id='cake'>$cake</div>";
    //use cake2 for the search process
    echo $cake2;       
    include 'phpData.php';

    foreach($artists as $key => $value){
        if ($key == $cake2) 
        echo $value;
    }

【讨论】:

  • 杰克你真棒。非常感谢您的回答。 :D
猜你喜欢
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多