从数组中检索数据[关闭]

Very new to PHP Arrays and can't find out how to do a simple thing.

This is what I started out with:

<div class="crew-member">

<?php
    $crewMember         = "Tony Webster";
    $crewMemberPicture  = strtolower(str_replace(" ","-",$crewMember));
    $crewTitle          = "Senior Helmsman";
?>

<img src="images/crew/<?php echo $crewMemberPicture; ?>.jpg" alt="<?php echo $crewMember; ?>" />

<h4><?php echo $crewMember; ?></h4>
<h5><?php echo $crewTitle; ?></h5>

</div>

And then I was repeating that down the page. But I figured it'd be easier using an array and maybe a foreach loop of some description...

        $crewMembers = array(
            "Tony Webster"  => array("Senior", "tony-webster"),
            "John Reilly"  => array("Junior", "john-reilly")
        );

Is that array even going to work for me?

I then want to output these into a foreach loop (I think?) with HTML...

Not knowing much about arrays or foreach loops, I got stuck.

<?php
    $crewMembers = array(
        "Tony Webster"  => array("Senior", "tony-webster"),
        "John Reilly"  => array("Junior", "john-reilly")
    );

    foreach ($crewMembers as $crewMember => $otherData) {
        $crewTitle = $otherData[0];
        $crewMemberPicture = $otherData[1];
?>
<div class="crew-member">
    <img src="images/crew/<?php echo $crewMemberPicture; ?>.jpg" alt="<?php echo $crewMember; ?>" />
    <h4><?php echo $crewMember; ?></h4>
    <h5><?php echo $crewTitle; ?></h5>
</div>
<?php
    }
?>
<?php
$team = [
    ['name' => 'Tony Webster`, 'title' => `Senior'],
    ['name' => 'John Reilly`, 'title' => `Junior'],
];
?>

<div class="crew-member">
    <?php foreach ($team as $member) { ?>
        <img src="images/crew/<?=strtolower(str_repeat(' ', '_', $member['name'])) ?>.jpg" alt="<?=$member['name'] ?>" />
        <h4><?=$member['name'] ?></h4>
        <h5><?=$member['title'] ?></h5>
    <?php } ?>
</div>

For/foreach will be your friend here. Could do something like this...

<?
$crew_members = array();
$crew_members[] = array('name' => 'Bob', 'picture' => 'bob.jpg', 'title' => 'cult leader');
$crew_members[] = array('name' => 'Ricky', 'picture' => 'this_is_not_myspace.jpg', 'title' => 'listens to cult leader');
foreach($crew_members as $crew_member) { 
    // each $crew_member will be an array, var_dump($crew_member); die(); if you're curious
    echo $crew_member['name']; // returns bob, ricky
    echo $crew_member['picture']; // returns bob.jpg, this_is_not_myspace.jpg, etc...
}
?>

What you're doing is putting an array inside an array with keys that are strings so you can call them if you desire.