Прежде чем я начну, я должен сообщить вам, что у меня мало опыта в PHP. Фактически, я в значительной степени только начал использовать его на прошлой неделе, поэтому я использую его, как если бы это был JavaScript или что-то еще.Массив, возвращающий 0 при вызове функции
В любом случае, я пытаюсь упорядочить динамическую подачу контента через PHP на моем веб-сайте, насколько это возможно, и насколько я знаю, как это сделать.
Итак, я делаю это с помощью:
- Создание массива каждой переменной URL, который я сейчас использую.
- Querying
IDPage()
, который включает циклFOR
, который циклически проходит через массив, сравнивает место индекса с текущей переменной URL и возвращает место индекса, если оно соответствует. - Использование возвращаемой строки, чтобы решить, какой контент включать.
Пред- <! DOCTYPE >
<?php
$root = $_SERVER["DOCUMENT_ROOT"];
$array_IDs = array("404", "home", "item2", "item3", "item4");
global $root, $array_IDs;
?>
< голова >
<?php
function IDPage(){
for ($i = 0; $i < count($array_IDs); $i++){
if (isset($_GET[$array_IDs[$i]])){
return $array_IDs[$i];
}
}
}
?>
< тело >
<article>
<?php
$response = IDPage();
if ($response == "404"){
include($root . "/path/file.ext");
}
if ($response == "home"){
include($root . "/path/file.ext");
}
if ($response == "item2"){
include($root . "/path/file.ext");
}
if ($response == "item3"){
include($root . "/path/file.ext");
}
if ($response == "item4"){
include($root . "/path/file.ext");
}
?>
</article>
Используя текущий набор вверх, массив всегда возвращает 0, и с немного больше рытья, это, кажется, потому что считает, что count()
$array_IDs
не имеет значения. Тем не менее, это работает, если вы разместите петлю FOR
в том же блоке, что и <body>
(и модифицируйте код для работы с тем же блоком, конечно).
Опять же, я знаю, что это грубо, но это всего лишь небольшой сайт, я не знаю ничего лучше, и я не думаю, что я готов попасть в базы данных и все такое. Однако, если у кого-то есть лучшие идеи, не стесняйтесь, дайте мне знать, пока я способен. : L
О, я вижу. Это мне не приходило, потому что, как я уже сказал, я использую его, как будто это JavaScript. Это здорово, спасибо @Blaster. :) – mythofechelon
@BenHooper: Добро пожаловать – Blaster