从file.php回显数组值到webpage.php

时间:2016-12-20 16:27:01

标签: php arrays include

我有一个存储各种数学示例的简单数组,我已将其保存在webpage.php中,数组的目的是在每次加载网页时生成一个随机示例。为此我在PHP中使用了rand函数:

$Examples = array();

$Examples[0] = "Maths example 1";
$Examples[1] = "Maths example 2";
$Examples[2] = "Maths example 3";
$Examples[3] = "Maths example 4";

$index = rand(0, count($Examples));
echo $Examples[$index];

因此,每次加载页面时,这基本上都会调用并打印一个随机示例。我想要做的是将这个数组保存在file.php而不是webpage.php中,同时保持代码的功能。 所以基本上只保留

echo $Examples[$index];

在网页内,而不是写入网页中的数组。

我想过

<?php include ('file.php'); ?> 

在网页内,然后如上所述回应它,但作为一个初学者,我不确定这样做的语法或错误和权利。如果可以,请帮忙。

由于

2 个答案:

答案 0 :(得分:0)

使用functions创建可重复使用的代码:

// file.php
function getMathExamples()
{
    $Examples = array();

    $Examples[0] = "Maths example 1";
    $Examples[1] = "Maths example 2";
    $Examples[2] = "Maths example 3";
    $Examples[3] = "Maths example 4";

    $index = rand(0, count($Examples)-1);

    return $Examples[$index];
}

然后在任何页面中使用它:

// webpage.php (or wherever you need to echo math examples)
require("file.php");

echo getMathExamples();

答案 1 :(得分:0)

您可以将存储与逻辑分开,如下所示:

第一步是创建一个处理示例的存储文件。您还可以将file.php重命名为更明确的内容,例如math_examples.php,其中包含:

<?php
    return [
        'Math example 1',
        'Math example 2',
        'Math example 3'
    ];
?>`

接下来,您希望将其转换为逻辑代码中的数组。请在webpage.php

中关注
<?php
    $math_examples = require('file.php'); // or 'math_examples.php'
?>

然后,您可以在此处应用逻辑。包含$math_examples的内容是您的示例数组!所以你可以像下面那样玩它:

<?php
    $math_examples = require('file.php'); // or 'math_examples.php'

    $examples_count = count($math_examples);

    $randomNumber = rand(0, $examples_count - 1); // Beware of the inclusion of the max !

    $randomExample = $math_examples[$randomNumber];

    echo $randomExample;
?>