PHP:多个数组的一个选择选项

PHP:多个数组的一个选择选项,php,multidimensional-array,html-select,Php,Multidimensional Array,Html Select,我刚开始做博士,我有一个问题阻碍了我。我有一个Select表单,需要将每个选项与多维数组中的几个数组相关联。 这里是我的选择: <select name="city"> <option value="Dublin">Dublin</option> <option value="Nice">Nice</option> <option value="Orlean

我刚开始做博士,我有一个问题阻碍了我。我有一个Select表单,需要将每个选项与多维数组中的几个数组相关联。 这里是我的选择:

 <select name="city">
            <option value="Dublin">Dublin</option>
            <option value="Nice">Nice</option>
            <option value="Orleans">Orléans</option>
            <option value="Paris">Paris</option>
            <option value="Tours">Tours</option>
        </select>
问题是我需要显示“Départ”值对应于选择选项的数组

更准确地说,如果我选择“Paris”,数组(以及所有值)0、3和4将显示出来。 目前我只知道如何显示所有阵列(即使是我不需要的阵列)

我不知道我是否足够清楚。
提前感谢您的帮助。

可能有更好的方法,但这个快速片段可以帮助您实现目标:

<?php
     $travels = array(
      '0' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '12:34', 'Chauffeur ' => 'Thomas'),
      '1' => array('Départ ' =>'Orléans', 'Arrivée ' => 'Nantes', 'Heure de départ ' =>'05:15', 'Heure d\'arrivée ' => '09:32', 'Chauffeur ' =>'Mathieu'),
      '2' => array('Départ ' =>'Dublin', 'Arrivée ' => 'Tours', 'Heure de départ ' =>'07:23', 'Heure d\'arrivée ' => '08:50', 'Chauffeur ' =>'Nathanaël'),
      '3' => array('Départ ' =>'Paris', 'Arrivée ' => 'Orléans', 'Heure de départ ' =>'03:00', 'Heure d\'arrivée ' => '05:26', 'Chauffeur ' => 'Clément'),
      '4' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nice', 'Heure de départ ' => '10:00', 'Heure d\'arrivée ' => '12:09', 'Chauffeur ' => 'Audrey'),
      '5' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '10:40', 'Heure d\'arrivée ' =>'13:00', 'Chauffeur ' =>'Pollux'),
      '6' => array('Départ ' =>'Nice', 'Arrivée ' => 'Tours', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '16:10', 'Chauffeur ' =>'Edouard'),
      '7' => array('Départ ' =>'Tours', 'Arrivée ' => 'Amboise', 'Heure de départ ' => '16:00', 'Heure d\'arrivée ' => '18:40', 'Chauffeur ' =>'Priscilla'),
      '8' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '12:00', 'Heure d\'arrivée ' =>'16:00', 'Chauffeur ' =>'Charlotte'));


// get your select option (assuming Orléans)
$selectOption = "Orléans";

$temp = array();

foreach ($travels as $key => $value) {

    $t = $travels[$key]['Départ '];

    if ($t == $selectOption) {
        array_push($temp, $value);
    }
}

print_r($temp);
您可以使用以下方法:


这正是我想要的。我不知道我们可以写$travels[$key]['Départ'],所以我被卡住了。这很好,因为你使用的是多维数组。因此,实际上需要两个键才能访问此特定2D数组中所需的值。
<?php
     $travels = array(
      '0' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '12:34', 'Chauffeur ' => 'Thomas'),
      '1' => array('Départ ' =>'Orléans', 'Arrivée ' => 'Nantes', 'Heure de départ ' =>'05:15', 'Heure d\'arrivée ' => '09:32', 'Chauffeur ' =>'Mathieu'),
      '2' => array('Départ ' =>'Dublin', 'Arrivée ' => 'Tours', 'Heure de départ ' =>'07:23', 'Heure d\'arrivée ' => '08:50', 'Chauffeur ' =>'Nathanaël'),
      '3' => array('Départ ' =>'Paris', 'Arrivée ' => 'Orléans', 'Heure de départ ' =>'03:00', 'Heure d\'arrivée ' => '05:26', 'Chauffeur ' => 'Clément'),
      '4' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nice', 'Heure de départ ' => '10:00', 'Heure d\'arrivée ' => '12:09', 'Chauffeur ' => 'Audrey'),
      '5' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '10:40', 'Heure d\'arrivée ' =>'13:00', 'Chauffeur ' =>'Pollux'),
      '6' => array('Départ ' =>'Nice', 'Arrivée ' => 'Tours', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '16:10', 'Chauffeur ' =>'Edouard'),
      '7' => array('Départ ' =>'Tours', 'Arrivée ' => 'Amboise', 'Heure de départ ' => '16:00', 'Heure d\'arrivée ' => '18:40', 'Chauffeur ' =>'Priscilla'),
      '8' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '12:00', 'Heure d\'arrivée ' =>'16:00', 'Chauffeur ' =>'Charlotte'));


// get your select option (assuming Orléans)
$selectOption = "Orléans";

$temp = array();

foreach ($travels as $key => $value) {

    $t = $travels[$key]['Départ '];

    if ($t == $selectOption) {
        array_push($temp, $value);
    }
}

print_r($temp);
<?php

$travels = array(
          '0' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '12:34', 'Chauffeur ' => 'Thomas'),
          '1' => array('Départ ' =>'Orléans', 'Arrivée ' => 'Nantes', 'Heure de départ ' =>'05:15', 'Heure d\'arrivée ' => '09:32', 'Chauffeur ' =>'Mathieu'),
          '2' => array('Départ ' =>'Dublin', 'Arrivée ' => 'Tours', 'Heure de départ ' =>'07:23', 'Heure d\'arrivée ' => '08:50', 'Chauffeur ' =>'Nathanaël'),
          '3' => array('Départ ' =>'Paris', 'Arrivée ' => 'Orléans', 'Heure de départ ' =>'03:00', 'Heure d\'arrivée ' => '05:26', 'Chauffeur ' => 'Clément'),
          '4' => array('Départ ' =>'Paris', 'Arrivée ' => 'Nice', 'Heure de départ ' => '10:00', 'Heure d\'arrivée ' => '12:09', 'Chauffeur ' => 'Audrey'),
          '5' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '10:40', 'Heure d\'arrivée ' =>'13:00', 'Chauffeur ' =>'Pollux'),
          '6' => array('Départ ' =>'Nice', 'Arrivée ' => 'Tours', 'Heure de départ ' => '11:00', 'Heure d\'arrivée ' => '16:10', 'Chauffeur ' =>'Edouard'),
          '7' => array('Départ ' =>'Tours', 'Arrivée ' => 'Amboise', 'Heure de départ ' => '16:00', 'Heure d\'arrivée ' => '18:40', 'Chauffeur ' =>'Priscilla'),
          '8' => array('Départ ' =>'Nice', 'Arrivée ' => 'Nantes', 'Heure de départ ' => '12:00', 'Heure d\'arrivée ' =>'16:00', 'Chauffeur ' =>'Charlotte')
          );

$selected = 'Paris';

function get_destination($travel) {
    global $selected;

    return $travel["Départ "] === $selected;
}

print_r(array_filter($travels, 'get_destination'));