2016-12-20 2 views
-1

У меня есть простой массив, в котором хранятся различные примеры математики, и я сохранил это в webpage.php, цель массива - генерировать случайный пример каждый раз, когда веб-страница загружается. Для этого я использовал функцию рандов в PHP:Echo значение массива from file.php на webpage.php

$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]; 

так это в основном вызывает и печатает случайный пример каждый раз, когда страница загружена. Я хочу сохранить этот массив в файле.php, а не webpage.php, сохраняя функциональность кода. Поэтому в основном только держать

echo $Examples[$index]; 

в пределах веб-страницы, а не писать в массив в пределах веб-страницы.

Я думал о

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

в пределах веб-страницы, а затем повторяя его, как указано выше, но как новичок я не уверен, о синтаксисе или обидах и права делать это. Пожалуйста, помоги, если можешь.

Благодаря

+0

Вы пробовали/выполняли код? – Rizier123

+0

Поскольку вы в конечном итоге со многими из этих типов функций, создайте файл под названием 'functions.php', сделайте так, чтобы * Example * закодировал функцию, а затем назовите ее на любой странице, в которой вы нуждаетесь. Вам все равно нужно 'require_once ('functions.php')' (вместо 'include' ... по причинам, лучшим в другом вопросе), но тогда все ваши функции будут в одном включении, а не загрязнять ваш файл с помощью много включений. – WEBjuju

ответ

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(); 
+0

Спасибо за помощь, это прекрасно работает. – Kieran

0

Вы можете отделить хранения от логики, как следующее :

Первый шаг - создать файл хранилища, который wi Будем рассматривать примеры. Вы также можете переименовать 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; 
?> 
+0

Это тоже очень полезно, спасибо, хороший способ организовать код! – Kieran