php获取并生成数组?

php获取并生成数组?,php,arrays,variables,Php,Arrays,Variables,快速概述:尝试使用$\u GET('foo')中的字符串构建库,该字符串通过AJAX传递,然后从中生成一个小列表,其中包含标题和说明 一个数组可以有3个元素吗?在foreach中,它在此处生成使用“foo”的列表项,然后是标题和描述,但我不知道如何选择与“foo”相关的适当/关联的标题/描述。以下是我所拥有的: <?php function generateProject() { $proj = $_GET['proj']; $valid_proj = array("deadaweso

快速概述:尝试使用
$\u GET
('foo')中的字符串构建库,该字符串通过AJAX传递,然后从中生成一个小列表,其中包含标题和说明

一个数组可以有3个元素吗?在
foreach
中,它在此处生成使用“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();
    ?>

您需要关联数组的数组:

$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";
}

我猜你想要一个多维数组。太棒了。如何循环查找只与$proj匹配的项目,并将其写入generateProject()?此代码仅用于选择一个数组并构建它。一旦另一个$proj通过(即第一次“foo”,然后是“bar”),它将构建该项目。有办法吗?在上面的
foreach
中,我只需要添加一个测试:
if($project['id']=$\u GET['id']){/*将所有内容打印出来*/}
Hm,尝试将其放入,但它没有打印该部分。如果您提到
,我应该在哪里添加
?在整个语句的
foreach
或结束
}
之后?明白了!你在上面发布的
如果
$\u GET['id']
应该是
$\u GET['proj']
。谢谢。我会在我的答案中把if放在
foreach
中,并使用
break来逃避这个外观
$project
变量将可用于在循环外打印
foreach($projects as $project) {
  $id = $project['id'];
  $title = $project['title'];
  $description = $project['description'];

  echo "($id) $title - $description";
}