PHP GET и генерировать с массивами? - PullRequest
0 голосов
/ 03 марта 2012

Быстрый обзор: попытка создать галерею со строкой из $_GET ('foo'), которая была передана через AJAX, а затем сгенерировать небольшой список с заголовком и описанием.

Isвозможно ли для массива иметь 3 элемента?В foreach здесь он генерирует list items, который использует 'foo', а затем следуют заголовок и описание, но я не знаю, как выбрать правильное / связанное название / описание, которое относится к 'foo».Вот что у меня есть:

<?php function generateProject() {


$proj = $_GET['proj'];
$valid_proj = array("deadawesome", "chimaera", "manifesto");
if (!in_array($proj, $valid_proj)) {
}

echo '<div id="proj-wrapper">';
echo '<div id="proj">';
echo '<ul id="'.$proj.'">';

$imgs = glob("../images/portfolio/$proj/*.jpg");

foreach ($imgs as $picture) {
  // Get only the base filename
  $picture = basename($picture);

  // Then build the <li>
  echo '<li><a href="javascript:void(0);"><img src="../images/portfolio/'.$proj.'/'.$picture.'">';
  echo '</li>';
}

echo '</ul>';
echo '</div>';
echo '</div>';

echo '<div class="description">'.$projTitle.' <span class="slash">&nbsp;/&nbsp;</span>'.$projDesc.'</div>';

} ?>

    <?php
               generateProject();
    ?>

Можно ли создать такой массив, а затем найти тот, который соответствует 'foo', и дать следующие два значения: $ projTitle и $ projDesc?

$projTitles = array('foo' => 'FooTitle' => 'The description for Foo.',
                    'bar' => 'BarTitle' => 'The description for Bar.',
                    'presto' => 'PrestoTitle' => 'The description for Presto.'
                );

1 Ответ

1 голос
/ 03 марта 2012

Вам нужен массив ассоциативных массивов:

$projects = array(
  array(
    'id' => 'foo', 
    'title' => 'FooTitle',
    'decription' => 'The description for Foo.'
  ),
  array(
    'id' => 'bar',
    'title' => 'BarTitle',
    'description' => 'The description for Bar.'
  ),
  array(
    'id' => 'presto',
    'title' => 'PrestoTitle',
    'description' => 'The description for Presto.'
  )
);

Затем вы можете просмотреть его и получить доступ к атрибутам каждого элемента массива следующим образом:

foreach($projects as $project) {
  $id = $project['id'];
  $title = $project['title'];
  $description = $project['description'];

  echo "($id) $title - $description";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...